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

设计

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

设计

通常,应尽可能晚地组装应用程序中的所有组件,因为这样可以确保最大程度的模块化,并且模块应尽可能松散地耦合。

实际上,这意味着您应该在应用程序的根目录下配置容器。

  • 在桌面应用程序中,这将在Main方法中(或非常接近)
  • 在ASP.NET(包括MVC)应用程序中,该文件位于Global.asax中
  • 在WCF中,它将位于ServiceHostFactory中
  • 等等

容器只是将模块组合成可运行的应用程序的引擎。原则上,您可以手动编写代码(这称为“ 穷人的DI” ),但是使用像Windsor这样的DI容器要容易得多。

理想情况下,这样的“ 合成根” 将是应用程序根目录中的唯一代码,从而使应用程序成为所谓的“ 谦虚可执行文件”
(来自出色的xUnit测试模式),它本身不需要单元测试。

您的测试根本不需要容器,因为您的对象和模块应该是可组合的,并且可以从单元测试中直接为它们提供 Test Double 。最好将所有模块设计为与容器无关。

同样在Windsor中,您应该将组件注册逻辑封装在安装程序中(类型实现

IWindsorInstaller
),有关详细信息,请参阅文档。



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

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

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