关于以编程方式使用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可取吗?
...全文
171 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你的那种“解耦”恐怕也只是为了概念而概念、不计较给开发调试所带来的问题,而进行的过度、诡异偷换代码的方式。 在软件设计中,假设 A 依赖于 C而B 也依赖于C,或者说A依赖于 IB 而 B 也依赖于 IB,就可以说 A 与 B 通过解耦方式来达到设计目的了。 偷换代码、注入,不是一个好的编程方式。程序中进行动态装配都是“不得已”时为之,1万行代码中也未必有5、6行这样的代码,而且这些代码必须是非常稳定、单纯的代码。如果以诡异为美,则过分了。
  • 打赏
  • 举报
回复
编程方式最终暴露给外部的任然是接口,至于引用,不管哪种方式都是要全部添加引用的,配置的方式就是你将对应关系写在了配置里,编程方式就是有个专门的地方写这个映射过程,本质其实一样的
第1章:对Spring框架进行宏观性的概述,力图使读者建立起对Spring整体性的认识。   第2章:通过一个简单的例子展现开发Spring Web应用的整体过程,通过这个实例,读者可以快速跨入Spring Web应用的世界。   第3章:讲解Spring IoC容器的知识,通过具体的实例详细地讲解IoC概念。同时,对Spring框架的三个最重要的框架级接口进行了剖析,并对Bean的生命周期进行讲解。   第4章:讲解如何在Spring配置文件中使用Spring 3.0的Schema格式配置Bean的内容,并对各个配置项的意义进行了深入的说明。   第5章:对Spring容器进行解构,从内部探究Spring容器的体系结构和运行流程。此外,我们还将对Spring容器一些高级主题进行深入的阐述。   第6章:我们从Spring AOP的底层实现技术入手,一步步深入到Spring AOP的内核中,分析它的底层结构和具体实现。   第7章:对如何使用基于AspectJ配置AOP的知识进行了深入的分析,这包括使用XML Schema配置文件、使用注解进行配置等内容。   第8章:介绍了Spring所提供的DAO封装层,这包括Spring DAO的异常体系、数据访问模板等内容。   第9章:介绍了Spring事务管理的工作机制,通过XML、注解等方式进行事务管理配置,同时还讲解了JTA事务配置知识。   第10章:对实际应用中Spring事务管理各种疑难问题进行透彻的剖析,让读者对Spring事务管理不再有云遮雾罩的感觉。   第11章:讲解了如何使用Spring JDBC进行数据访问操作,我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。   第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到ORM框架的混用和DAO层设计的知识。   第13章:本章重点对在Spring中如何使用Quartz进行任务调度进行了讲解,同时还涉及了使用JDK Timer和JDK 5.0执行器的知识。   第14章:介绍Spring 3.0新增的OXM模块,同时对XML技术进行了整体的了解。   第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。   第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的JUnit4+Unitils+ Mockito复合测试框架对如何测试数据库、Web的应用进行了深入的讲解。   第17章:以一个实际的项目为蓝本,带领读者从项目需求分析、项目设计、代码开发、单元测试直到应用部署经历整个实际项目的整体开发过程。

17,740

社区成员

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

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