консолидация кода для шаблона внедрения зависимостей - PullRequest
0 голосов
/ 24 января 2012

У меня есть эта функция в 3 классах, потому что все они используют одни и те же объекты. Чтобы не повторять код в каждом классе, я должен извлечь его в родительский класс? Если это вопрос предпочтений, я бы хотел.

Эта функция была создана для внедрения шаблона внедрения зависимостей (на мой взгляд, это неправильное название, поскольку оно устраняет зависимости).

public function setObjects($DatabaseObject, $TextObject, $MessageObject)
{
    $this->DatabaseObject = $DatabaseObject;
    $this->TextObject = $TextObject;
    $this->MessageObject = $MessageObject;
}

1 Ответ

2 голосов
/ 24 января 2012

Да, вы всегда должны создавать DRY-код везде, где это возможно, поэтому, если он будет применяться ко всем дочерним классам, переместите его в родительский класс и позвольте классам переопределять при необходимости.

Кроме того, это называется внедрением зависимости, потому что вы вводите зависимость вместо того, чтобы создавать ее внутри своего класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...