Я нахожусь в процессе изучения depenency injection и inversion of control, и мне кажется, я начинаю понимать, как это работает:
Если все это верно, могу ли я больше не использовать то, что я называю "ссылочные методы" в своих объектах?
Вот что я имею в виду под ссылочными методами. Скажем, у меня есть две модели для семей и членов семьи. Я считаю очень полезным создавать методы, которые ссылаются на объекты, относящиеся к этой модели. В приведенном ниже примере, вызывая $family->members()
, я могу быстро получить доступ ко всем членам семьи. Но это означает, что мой объект family
инстанцирует классы family_member
... а разве это не нарушает правила IoC?
Что если класс family_member
имеет зависимость, которая выходит за рамки класса family
? Мы будем очень признательны за ответы!
<?php
class family
{
public $id;
public function members()
{
// Return an array of family_member objects
}
}
class family_member
{
public $family_id;
public $first_name;
public $last_name;
public $age;
}