轮廓

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的更多相关文章

  1. 十七、Spring框架(IOC/DI)

    一.Spring框架 Spring是一个基于IOC和AOP的结构J2EE系统的框架. 1.IOC反转控制是Spring的基础(Inversion Of Control).也就是说创建对象由以前的程序员 ...

  2. spring中的IOC/DI的知识点

    IOC(Inverse of control):控制反转;其实就是一个装对象的容器,以前我们在controller中调用service中的方法,都要先new 一个service对象,这样不符合模式设计 ...

  3. Spring.Net---3、IoC/DI深入理解

    ------------------------------------------------------------------------ 理解IoC/DI 1.控制反转 --> 谁控制谁 ...

  4. JAVAWEB 一一 框架整合(SSH,Spring+Struts2+Hibernate IOC/DI AOP声明式事务处理 定时任务)

    package org.springframework.orm.hibernate3; import java.io.Serializable; import java.util.List; impo ...

  5. Spring.Net---2、IoC/DI基本概念

    ---------------------------------------------------------------------------------- (1)IoC/DI的概念 IoC ...

  6. spring IOC DI AOP MVC 事务, mybatis 源码解读

    demo https://gitee.com/easybao/aop.git spring DI运行时序 AbstractApplicationContext类的 refresh()方法 1: pre ...

  7. Spring中的IOC\DI\AOP等概念的简单学习

    IoC(Inversion of Control,控制反转).这是spring的核心,贯穿始终, 所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系.Spr ...

  8. Spring再接触 IOC DI

    直接上例子 引入spring以及Junite所需要的jar包 User.java package com.bjsxt.model; public class User { private String ...

  9. spring 学习 二 IOC/DI

    中文名称:控制反转 英文名称:( Inversion of Control ) 1 控制反转作用: 一般在编写java程序时,需要程序员自己创建对象的实例,例如 A a=new A();语句,就是程序 ...

  10. Spring.Net---4、IoC/DI注入方式

    spring.net里实现了控制反转IOC(Inversion of control),也即依赖注入DI(Dependency Injection),以达到解耦的目的,实现模块的组件化.程序在调用sp ...

随机推荐

  1. Aerospike | Aerospike Chinese

    Aerospike | Aerospike Chinese 如果您的企业依赖于: 庞大的数据量(超过任何结构化数据库所能处理的数据量) 可预见(且快速)的性能 透明的扩展 始终正常运行 那么您只有一个 ...

  2. Swift - 按钮(UIButton)的用法

    1,按钮的创建 (1)按钮有下面四种类型: UIButtonType.ContactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果 UIButtonType.DetailDisc ...

  3. IE7IE8兼容性设置_服务器端设定

    用ASP.NET开发的web程序,客户端是IE7以上时,需要设置IE的兼容性,否则web页面可能混乱,但这样在每客户端设置不太现实, 对策: ①在站点的配置文件中,修改web.config文件,使得该 ...

  4. gulp多张图片自动合成雪碧图

    相信做前端的同学都做过这样的事情,为优化图片,减少请求会把拿到切好的图标图片,通过ps(或者其他工具)把图片合并到一张图里面,再通过css定位把对于的样式写出来引用的html里面.对于一些图片较多的项 ...

  5. Nancy.Host的Web应用

    Nancy.Host实现脱离iis的Web应用 本篇将介绍如何使用Nancy.Host实现脱离iis的Web应用,在开源任务管理平台TaskManagerV2.0代码里面已经使用了Nancy.Host ...

  6. haproxy 看到的是https,后台是http的原因

    https://www.zjtest6.com/admin/api/menu haproxy 日志: Jun 24 13:23:02 localhost haproxy[23205]: 192.168 ...

  7. POJ 3974 最长回文字串(manacher算法)

    题意:给出一个字符串,求出最长回文字串. 思路:一开始我直接上了后缀数组DC3的解法,然后MLE了.看了DISCUSS发现还有一种计算回文字串更加优越的算法,就是manacher算法.就去学习了一下, ...

  8. 李兴华JavaWeb开发笔记

    李兴华JavaWeb开发笔记 1.Java语法-基础 环境变量-JAVA_HOME, PATH, ClassPath 变量名 作用 举例 JAVA_HOME 指向JDK目录 C:\Program Fi ...

  9. Java 开源博客——B3log Solo 0.6.1 正式版发布了!

    Java 开源博客 —— B3LOG Solo 0.6.1 正式版发布了!欢迎大家下载. 该版本主要是改善细节体验,并加入了一款 Metro 风格的皮肤. 特性 基于标签的文章分类 Ping Goog ...

  10. Codeforces Round #296 (Div. 2) A. Playing with Paper

    A. Playing with Paper One day Vasya was sitting on a not so interesting Maths lesson and making an o ...