关于以编程方式使用IoC容器

qq_24525175 2016-03-05 08:46:58
很多框架不仅支持“ 配置文件” 还支持使用 编程 方式进行IoC和DI,使用编程的方式对比起XML来说友好很多,但如果使用编程的方式,那UI层岂不是还要添加相应的依赖项?比如现在有IBLL层,BLL层和UI层,如果使用编程方式进行解耦,那UI层就需要同时添加对IBLL和BLL层的引用从而才能以编程方式建立映射关系,那这样UI层岂不是又和BLL层耦合了?很多讲MVC 的资料上都会给一个demo,虽然也建立了接口,做了IoC和DI,但都是在同一个层中(只是为了演示思想),加入我们现在要将接口层和实现层分离,依旧使用编程方式建立映射做DI可取吗?
...全文
169 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你的那种“解耦”恐怕也只是为了概念而概念、不计较给开发调试所带来的问题,而进行的过度、诡异偷换代码的方式。 在软件设计中,假设 A 依赖于 C而B 也依赖于C,或者说A依赖于 IB 而 B 也依赖于 IB,就可以说 A 与 B 通过解耦方式来达到设计目的了。 偷换代码、注入,不是一个好的编程方式。程序中进行动态装配都是“不得已”时为之,1万行代码中也未必有5、6行这样的代码,而且这些代码必须是非常稳定、单纯的代码。如果以诡异为美,则过分了。
  • 打赏
  • 举报
回复
编程方式最终暴露给外部的任然是接口,至于引用,不管哪种方式都是要全部添加引用的,配置的方式就是你将对应关系写在了配置里,编程方式就是有个专门的地方写这个映射过程,本质其实一样的

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧