聚合和依赖注入之间的区别

玛兹·雷曼(Maaz Rehman)

我最近研究了依赖注入设计模式。

class User
{

private $db;

public function __construct(Database $db) 
{
        $this->$db = $db;
}

}

我不禁怀疑这我在聚合中学到的东西一样如果我错了,请纠正我。我知道目标依赖注入聚集不同的我有什么想念的吗?

MatíasFidemraizer

聚集是对象组合的一种形式。它与依赖注入无关

另一方面,依赖项注入与对象如何关联无关,而与如何将其他对象(依赖项)放入特定对象有关。依赖关系可以是集合,服务,存储库,验证器,文字...

通常,在强类型语言中,将依赖项作为接口引入,以避免将对象耦合到实现细节。相反,在动态类型语言中,约定和强大的文档可以帮助您建立良好且紧密耦合的依赖关系图。

请注意,数据库不能是聚合的。并非所有关联都被视为聚合,而您可以考虑注入依赖

无论如何,您的推理中都有一些设计异味:用户不应该依赖数据库,但是如果您要实现诸如active之类的功能,则数据层/数据映射层将是注入用户实体的更好的选择。记录模式

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章