最近我学习了依赖注入设计模式。
class User
{
private $db;
public function __construct(Database $db)
{
$this->$db = $db;
}
}
我不禁想知道这是不是我在聚合中学到的相同的东西。如果我错了,请纠正我。 我知道依赖注入和聚合的目标是不同的。是否有什么我忽略的东西?
最近我学习了依赖注入设计模式。
class User
{
private $db;
public function __construct(Database $db)
{
$this->$db = $db;
}
}
我不禁想知道这是不是我在聚合中学到的相同的东西。如果我错了,请纠正我。 我知道依赖注入和聚合的目标是不同的。是否有什么我忽略的东西?
Department
类,例如,它具有Professor
对象数组作为实例变量。有两种方式可以使用一些Professor
对象初始化教授数组。Department
类中的一些不带参数的方法中初始化Professor
数组的元素,如professors[0]=new Professor("CK");
和professors[1]=new Professor("MK");
。
2.您可以提供一个以Professor
类型数组作为其参数的构造函数。任何想要实例化Department
的类都必须通过构造函数传递Professor
对象数组。Department
如何获取其教授,教授将继续存在,即使没有部门(假设教授属于多个部门),因此无论部门如何获取其教授,都称为聚合。Department
实例,则将被称为依赖项注入。一个部门需要教授,并且您正在通过从Department
类外部提供来满足此依赖关系。Department
中的Professor
数组)来建模的关系类型。依赖注入是一种设计类的方式,使其依赖项可以从类外部提供。可以建模聚合关系以支持依赖注入,但这并不意味着聚合和依赖注入是相同的东西。