码迷,mamicode.com
首页 > 编程语言 > 详细

spring.net中的IoC、DI和MVC

时间:2014-08-31 22:58:52      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:style   使用   io   文件   数据   cti   代码   sp   工作   

概述

       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,这样我们就清楚了,为什么有了那么多的框架,并且,现在仍有很多人致力于于框架的开发,以及相应优化的工作的原因了。

       从上面的分析我们可以知道,对于程序来说,不是用了框架就好,不是不用框架就不好,而是要恰到好处的使用。

spring.net中的IoC、DI和MVC

标签:style   使用   io   文件   数据   cti   代码   sp   工作   

原文地址:http://blog.csdn.net/jiben2qingshan/article/details/38963691

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!