2008-11-18 4 views
2

Я пишу вспомогательные классы для большого проекта в PHP, и я написал класс под названием Command. Это, по сути, ООП-обертка вокруг управляемых системных команд из PHP контролируемым образом. Он имеет методы, такие как addOption(), чтобы добавить параметры типа -a и addArgument(), чтобы добавить другие аргументы.Должен ли я распространять этот класс или просто использовать его?

Мне нужно будет сделать много scp'ing файлов вокруг, поэтому я буду использовать класс Command много. Вызовы scp очень специфичны в том, что мне нужны определенные опции, используемые каждый раз.

Имеет ли смысл расширить этот класс и создать класс ScpCommand? Кажется, что это отношения «есть», но это действительно то же самое, что и класс Command с конкретными параметрами каждый раз. Я действительно не думаю, что мне нужно было бы переопределить любые методы, за исключением конструктора. Вероятно, я бы добавил только переменные класса. Это было бы просто удобством.

В чем здесь смысл?

ответ

2

Если это просто конфигурация, почему бы не подумать о фабрике, которая возвращает команду после выполнения вашей конфигурации плиты котла?

function getScpCommand($???) 
{ 
    $Command = new Command(); 
    $Command->addOption(/* scp specific this */); 
    $Command->addArgument(/* scp specific that */); 
    /* etc */ 
    $Command->addOption(/* handle your getScpCommand parameters here */) 

    return $Command; 
} 
+0

Я согласен Я думаю, вы могли бы легко сделать хороший аргумент в пользу использования Factory. Хорошая мысль. – 2008-11-18 17:48:15

Смежные вопросы