栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在PHP项目中,存在哪些模式来存储,访问和组织帮助器对象?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在PHP项目中,存在哪些模式来存储,访问和组织帮助器对象?

实现依赖项注入(DI):

  • 我相信您应该问构造函数中该对象需要什么:

    new YourObject($dependencyA, $dependencyB);

  • 您可以 手动

    $application = new Application(new MessageHandler()
    )提供所需的对象(依赖项)。但是您也可以使用 DI框架 (维基百科页面提供了指向PHP DI框架的链接。

重要的是,您仅传递您实际使用的内容(调用操作),而不传递您仅传递给其他对象的内容,因为它们需要它们。

关于Flavius解决方案的更多想法。我不希望这个帖子成为反帖子,但我认为重要的是要弄清为什么依赖注入至少在我看来比全局变量更好。

即使这不是“真正的” Singleton实现,我仍然认为Flavius弄错了。全球状况不好。请注意,此类解决方案还使用难以测试的静态方法。

我知道很多人会这样做,批准并使用它。但是阅读Misko
Heverys的博客文章(一位Google可测试性专家),重新阅读它并慢慢地消化他所说的内容确实改变了我对设计的看法。

如果您希望能够测试您的应用程序,则需要采用其他方法来设计应用程序。当您进行测试优先编程时,您将遇到如下困难:’接下来,我想在这段代码中实现日志记录;让我们先编写一个记录基本消息的测试”,然后提出一个强制您编写和使用不可替代的全局记录器的测试。

我仍然在努力地从博客中获取所有信息,并且实施起来并不总是那么容易,而且我有很多问题。但是,在我掌握了Misko
Hevery所说的话之后,我无法回到以前做过的事情(是的,全局状态和Singletons(大S)):-)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573301.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号