脚本宝典收集整理的这篇文章主要介绍了php – 抽象工厂使用“新”吗?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,假设我有一个博客管理器对象,希望生成它在数据库中找到的博客列表.这样做的选项(据我所知)是:
>新博客();
> $this-> loader-> blog();
> loader对象创建各种其他类型的对象,如数据库对象,文本过滤器等.
> $this-> bLOGEntryFactory-> create();
但是,#1很糟糕,因为它会产生强耦合. #2仍然看起来很糟糕,因为这意味着必须事先注入对象工厂 – 暴露它可以创建的所有其他对象.
3号似乎没问题,但是如果我使用#3,我是否将“new”关键字放在blogEntryFactory本身中,或者,我是否将加载器注入blogEntryFactory并使用加载器?
如果我有许多不同的工厂,比如blogEntryFactory(例如我可以有userFactory和commentFactory),那么在所有这些不同的工厂中放置“new”关键字就会产生依赖性问题.
我希望这是有道理的…
注意
我已经得到了一些关于这个特定博客示例如何不必要的答案,但事实上,你应该使用抽象工厂模式的情况,这就是我得到的观点.你是在这种情况下使用“新”还是做其他事情?
举个例子,假设PHP没有数组结构但有一个集合对象.你会打电话给$this-> collectionsFactory-> create(),还是会满意地说新的数组;?
以上是脚本宝典为你收集整理的php – 抽象工厂使用“新”吗?全部内容,希望文章能够帮你解决php – 抽象工厂使用“新”吗?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。