首页 / PHP / PHP-您是否将存储库注入域对象?
PHP-您是否将存储库注入域对象?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP-您是否将存储库注入域对象?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1331字,纯文字阅读大概需要2分钟。
内容图文
![PHP-您是否将存储库注入域对象?](/upload/InfoBanner/zyjiaocheng/676/56e7b2deb7dd462cbed74b9e9db3171b.jpg)
在一天学习10个星期之后,经过一周的学习,我开始感觉自己开始非常了解它,直到今天阅读本文为止:
http://blog.fedecarg.com/2009/03/15/domain-driven-design-the-repository/
该文章的作者说您将存储库注入到Domain对象中,这对我来说没有任何意义.
我不是这个主题的专家,但是我认为他是错的,但是我希望这里的一些人提供一些关于将存储库注入域对象是对还是错的意见.
在我阅读另一篇文章和另一篇文章时,我每天的所有阅读都对我来说听起来是一样的(这是一件好事),直到我看到上面发布的文章,如果我对这张照片的了解,我会三思而行.模式不正确.
您是不是应该注入存储库?
解决方法:
所示示例使用的是Active Record pattern.在这种模式下,实体知道如何保存自己.通常认为这不是很好的Separation of Concerns,因为该类知道两件事:数据属性和如何持久保存自身.
将存储库注入Active Record对象比我见过的某些Active Record实现要好(因为您至少可以换出存储库实现),但是在我看来(和大多数DDD社区),依赖关系是倒退的:
The repository should depend on the object it returns, not the other
way around. The reason for this is that your “domain object” (more on
that later) can exist (and should be testable) without being loaded or
saved (that is, having a dependency on a repository).
因此,回答您的问题,不.您不应该将存储库注入域对象.
但是,值得注意的是,这实际上不是域对象,因为它没有行为-仅是简单的获取/设置(访问器/更改器).它只是一个Data Transfer Object (DTO).如果实际上没有任何行为,则您不需要域模型-只是简单的CRUD.
内容总结
以上是互联网集市为您收集整理的PHP-您是否将存储库注入域对象?全部内容,希望文章能够帮你解决PHP-您是否将存储库注入域对象?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。