Должен ли я расширить этот класс или просто использовать его? - PullRequest
2 голосов
/ 18 ноября 2008

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

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

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

Что здесь имеет больше смысла?

1 Ответ

2 голосов
/ 18 ноября 2008

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

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...