spring.net中间IoC、DI和MVC-阿里云开发者社区

开发者社区> 开发与运维> 正文

spring.net中间IoC、DI和MVC

简介:

轮廓

       spring.net它是开源的业务层框架,功能很强大,它归结到什么都有3能:面向切面编程;IoC和DI;提供综合型的框架支持,本片博客主要说一下IoC和DI。和其提供的对MVC框架的支持。

IoC和DI

       IoC。英文全称Inversion of Control。控制反转。DI。英文全称Dependency Injection。依赖注入。简而言之,IoC就是创建对象,DI就是创建对象的时候。进行初始化。

      IoC和DI就相当于我们通常写的抽象工厂+反射,仅仅只是比抽象工厂的功能强大,可是其思想是一样的,就是解耦。我们通过抽象工厂+反射。实现了上层和下层之间的解耦。当然。这当中有对应的中间层(接口)提供下层对应的类型保证,而spring.net提供的IoC和DI也是这样实现的,仅仅只是,我们使用spring.net的框架时。我们不须要再自己写对应的抽象工厂了。不须要自己在进行维护这个类了,spring.net已经给我封装成了对应的dll组件。我们仅仅须要引用对应的组件,然后进行对应的配置文件的配置就能够事项该功能。

提供MVC框架的支持

       MVC框架能够说是UI层的一个框架,其Control类的功能就是接受请求,返回数据,其对于数据业务逻辑的处理是交给BLL层(业务逻辑层)进行处理的。我们通过spring.net提供的dll组件实现U层和B层的分离。

       对于UI层不是MVC框架的类。我们再引入对应的dll。进行对应配置文件配置后,我们接下来的操作就是创建一个容器对象。然后给其对应的key就能够通过容器对象得到我们想要的对象,这个方式是针对于UI层没有架构的情况。而对于UI层使用了MVC架构的程序,我们是通过别的方式进行实现的,上面的概述中说了,spring.net提供了综合型框架的支持,所以,我们能够知道。spring.net也提供了对应的dll来和MVC框架进行对应的对接。这个过程的详细操作:在control类中定义对应的属性(IBLL接口类型),然后。通过配置文件的配置,实现。当然訪问这个control类时。就初始化了对应的属性。

配置文件的处理

       使用spring.net框架的时候,我们会在配置文件里书写大量的内容。假设这些内容只在一个web.config中写的话,会很的乱,此时,我们能够创建对应的xml文件,进行对应的配置,当然。这个须要进行对应得配置。假设我们使用这样的方式的时候,我们须要注意,我们要对xml文件的属性做一些处理,将其弄到UI层。由于,我们的程序訪问的配置文件是基于I层的。

总结

       我们做一个程序,我们使用spring.net + M(EasyUI)VC + EF/NHibernate + T4这个框架,和一个不使用分层和不论什么架构的程序相比。在性能上,肯定是后者的效率高。由于代码运行的流程少。路径短,所以,很的快,可是,为什么还是出现了上者的那种架构,而且许多人觉得这样的架构还很好呢?

       要想知道上面的答案。我们须要析一下,为什么出现了上面的两种情况,为什么呢?由于我们做的程序的类型不同,对于互联网系统,对于系统的要求的是运行的速度快,对于企业级业务系统(OA\ERP\管理系统等)。对于系统的要求的是对于需求的变化能灵活的应对,ok,这样我们清除。为什么有这么多的框架,和,今天,很多人仍然非常致力于开发框架。而相应的优化工作原因。

       从上面的分析我们可以知道。对于计划,不是用类似这样的框架,不坏不框架。但只用优势。





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5038032.html,如需转载请自行联系原作者


版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章