Вот, что I'am пытается достичь:
- это текстовый файл, анализатор
- в зависимости от первых символов создать правильный объект парсера
- Я хотел бы сделать это, используя правильный шаблон фабрики
- Не могли бы вы рассказать мне, соответствует ли мой код правильному шаблону фабрики?
- Спасибо! :-)
Является ли этот метод фабрики хорошим для того, что я пытаюсь сделать?
class Parser { protected $src; public function __construct($src) { $this->src = $src; } } class Format1Parser extends Parser { public function Parse() { // Parsing format 1 // ... } } class Format2Parser extends Parser { public function Parse() { // Parsing format 2 // ... } } class ParserFactory { public static function GetParser($src) { $header = substr($src,0,7); if ($header == "format1") { return(new Format1Parser($src)); } if ($header == "format2") { return(new Format2Parser($src)); } return(false); } } $parser = ParserFactory::GetParser(file_get_contents("file.txt")); $parser->Parse();
Благодарим вас за ответ. Действительно, код лучше, чем вы. Но мой вопрос не был хорошим. Хороший - «правильно ли мой код соответствует шаблону фабричного метода?» И «есть ли лучший образец для этого?» – Antoine 2010-11-26 14:15:29