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,这样我们就清楚了,为什么有了那么多的框架,并且,现在仍有很多人致力于于框架的开发,以及相应优化的工作的原因了。
从上面的分析我们可以知道,对于程序来说,不是用了框架就好,不是不用框架就不好,而是要恰到好处的使用。
上一篇: 移动端Web解析
推荐阅读
-
轻松理解Java面试和开发中的IoC(控制反转)
-
Spring的IOC和DI(案例+解析)
-
ASP.NET Core应用中与第三方IoC/DI框架的整合
-
Spring的IOC和DI(案例+解析)
-
轻松理解Java面试和开发中的IoC(控制反转)
-
ASP.NET Core应用中与第三方IoC/DI框架的整合
-
Ioc依赖注入:Unity4.0.1 在项目中的应用 (MVC和API)
-
解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”和循环引用问题
-
spring.net中的IoC、DI和MVC
-
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---08.框架的AOP功能和IOC功能测试