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,这样我们清除。为什么有这么多的框架,和,今天,很多人仍然非常致力于开发框架。而相应的优化工作原因。
从上面的分析我们可以知道。对于计划,不是用类似这样的框架,不坏不框架。但只用优势。
spring.net中间IoC、DI和MVC的更多相关文章
- 十七、Spring框架(IOC/DI)
一.Spring框架 Spring是一个基于IOC和AOP的结构J2EE系统的框架. 1.IOC反转控制是Spring的基础(Inversion Of Control).也就是说创建对象由以前的程序员 ...
- spring中的IOC/DI的知识点
IOC(Inverse of control):控制反转;其实就是一个装对象的容器,以前我们在controller中调用service中的方法,都要先new 一个service对象,这样不符合模式设计 ...
- Spring.Net---3、IoC/DI深入理解
------------------------------------------------------------------------ 理解IoC/DI 1.控制反转 --> 谁控制谁 ...
- JAVAWEB 一一 框架整合(SSH,Spring+Struts2+Hibernate IOC/DI AOP声明式事务处理 定时任务)
package org.springframework.orm.hibernate3; import java.io.Serializable; import java.util.List; impo ...
- Spring.Net---2、IoC/DI基本概念
---------------------------------------------------------------------------------- (1)IoC/DI的概念 IoC ...
- spring IOC DI AOP MVC 事务, mybatis 源码解读
demo https://gitee.com/easybao/aop.git spring DI运行时序 AbstractApplicationContext类的 refresh()方法 1: pre ...
- Spring中的IOC\DI\AOP等概念的简单学习
IoC(Inversion of Control,控制反转).这是spring的核心,贯穿始终, 所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系.Spr ...
- Spring再接触 IOC DI
直接上例子 引入spring以及Junite所需要的jar包 User.java package com.bjsxt.model; public class User { private String ...
- spring 学习 二 IOC/DI
中文名称:控制反转 英文名称:( Inversion of Control ) 1 控制反转作用: 一般在编写java程序时,需要程序员自己创建对象的实例,例如 A a=new A();语句,就是程序 ...
- Spring.Net---4、IoC/DI注入方式
spring.net里实现了控制反转IOC(Inversion of control),也即依赖注入DI(Dependency Injection),以达到解耦的目的,实现模块的组件化.程序在调用sp ...
随机推荐
- php 和thinkphp 对excel操作
php对excel的操作主要通过引入 excel_reader2.php 或者是PHPExcel 类进行 两个文件自行下载 php 对其读操作: 文件目录结构 excel_reader2.php ...
- STL 之 queue、priority_queue 源代码剖析
/* * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute an ...
- Servlet API中文版
基本类和接口 一.javax.servlet.Servlet接口 servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管理 ...
- 奔小康赚大钱 hdu 2255
奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- ZOJ 3529 A Game Between Alice and Bob(博弈论-sg函数)
ZOJ 3529 - A Game Between Alice and Bob Time Limit:5000MS Memory Limit:262144KB 64bit IO For ...
- POJ2528 Mayor's posters 【线段树】+【成段更新】+【离散化】
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39795 Accepted: 11552 ...
- codeforces 577
codeforces 577A 题目链接:http://codeforces.com/problemset/problem/577/A 题目大意:给出一个n*n的表格,每个表格对应的值为横坐标*纵坐标 ...
- [Cocos2d-x]节点的尺寸大小
作为一个CCNode,本身没有大小而言,但是AddChild之后,便有了尺寸的概念. Cocos2d-x中对于一个节点的尺寸可以通过以下三个方法获取: CCSprite: getContentSize ...
- 做SEO所要具备的四种能力
1,不为失败找借口 既然我们选择了做SEO,那么发生网站被降权.被K是常常的事.当这样的情况发生时,大部分站长首先将责任推给百度机制,由于百度更新算法调整遭降权,不是由于他们的优化没有 ...
- Net处理html页面元素工具类(HtmlAgilityPack.dll)的使用
现在,在不少应用场合中都希望做到数据抓取,特别是基于网页部分的抓取.其实网页抓取的过程实际上是通过编程的方法,去抓取不同网站网页后,再进行 分析筛选的过程.比如,有的比较购物网站,会同时去抓取不同购物 ...