轮廓

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. jquery easyui Accordion的使用

    <html> <head> <script src="jquery-easyui/jquery.min.js"></script> ...

  2. hdu 4708 Rotation Lock Puzzle 2013年ICPC热身赛A题 旋转矩阵

    题意:给出一个n*n的矩阵,旋转每一圈数字,求出对角线可能的最大值,以及转到最大时的最小距离. 只要分析每一层就可以了,本来想用地址传递二维数组,发现行不通,改了一下就行了. 这里有个坑,比如: 1 ...

  3. Swift - 工具条(UIToolbar)的用法

    1,UIBarButtonItem是工具条按钮,有如下5种init初始化方法: (1)初始化为普通图片按钮 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...

  4. 超声波模块SRF05

    //////////////////////////////////////////////////////////////////////////////// // //     PIC16F877 ...

  5. virus.win32.parite.H病毒的查杀方法

    virus.win32.parite.H病毒的查杀方法 昨天电脑中了virus.win32.parite.H病毒,搞了2个多小时最终搞定了.以下记录下我的解决方法. 第一步:下载Win32.Parit ...

  6. phprpc 使用实例(同时有Java、Android和Delphi客户端的例子)

    PHPRPC 是一个轻型的.安全的.跨网际的.跨语言的.跨平台的.跨环境的.跨域的.支持复杂对象传输的.支持引用参数传递的.支持内容输出重定向的.支持分级错误处理的.支持会话的.面向服务的高性能远程过 ...

  7. IOS中的ViewController 的loadView、viewDidLoad、viewDidUnload

    由init.loadView.viewDidLoad.viewDidUnload.dealloc的关系说起: 1 init方法 在init方法中实例化必要的对象(遵从LazyLoad思想) init方 ...

  8. Oracle控制文件操作

    控制文件是连接instance和 database的纽带.记录了database的结构信息. 控制文件是1个2进制文件.记录的是当前database的状态. 控制文件可以有多个,在参数文件中通过con ...

  9. pdftk的使用介绍

    首先像下面的一页pdf,如果想把它分成两页,每一页只是一个ppt页面(为了在kindle里读比较方便), 那么可以首先用A-pdf page cut, 将pdf 切成这样12个部分 然后我们现在要的只 ...

  10. UVA1450-Airport

    题目链接 题意:有一个飞机场.有两条待飞跑到w和e.一条起飞跑道.每一时刻仅仅能起飞一架飞机,然后有w[i]和e[i]架飞机进入w和e跑道.飞机编号从0開始,问说怎样安排起飞能够使得飞机编号的最大值最 ...