spring.net
似水流年
从事开发工作超过15年的it老兵,依然奋斗在一线开发。
工作中于JAVA和微软的.net开发为主,当前主要方向物联网+智慧城市
展开
-
Spring.NET学习笔记1——控制反转(基础篇)
在学习Spring.NET这个控制反转(IoC)和面向切面(AOP)的容器框架之前,我们先来看一下什么是控制反转(IoC)。 控制反转(Inversion of Control,英文缩写为IoC),也叫依赖注入(Dependency Injection)。我个人认为控制反转的意思是依赖对象发生改变,由最初的类本身来管理依赖对象改变为IoC框架来管理这些对象,使得依赖脱离类本身的控制,从而实现松耦合。我们先来看一段代码 namespace Dao{ public interface IPersonDa原创 2011-03-26 20:19:00 · 2034 阅读 · 0 评论 -
Spring.NET学习笔记12——面向切面编程(基础篇)
<br />AOP即面向切面编程(Aspect Oriented Programming的缩写),是OOP(面向对象编程)的一种延续形式。是通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术,它从一个不同于OOP的角度来看待程序的结构:OOP将应用程序分解为一系列表现为继承关系的对象;AOP 则把程序分解为一系列方面(aspects)或者关注点(concerns)。AOP将诸如事务管理等本来横向分布在多个对象中的关注点进行了模块化处理(这些关注点也常称为横切(cross转载 2011-03-26 21:00:00 · 1585 阅读 · 0 评论 -
Spring.NET学习笔记11——自定义对象行为(基础篇)
Spring.NET通过几个专门的接口来控制容器中对象的行为。说到对象的行为无非就要提到对象的生命周期控制。类似在WinForm开发,Form生命周期中,Load方法为Form的载入方法和Dispose方法为Form的销毁方法。Spring.NET都能完美的实现这些需求。 一、生命周期接口 在使用Spring.NET框架的时候通常遇到怎样初始化和销毁非托管资源(如数据库连接)的麻烦,下面的解决方案可能对您有所帮助。 1.初始化行为 继承Spring.Objects.Factory.IInit转载 2011-03-26 20:59:00 · 1656 阅读 · 0 评论 -
Spring.NET学习笔记10——方法的注入(基础篇)
<br />多数用户都会将容器中的大部分对象布署为singleton模式。当一个singleton对象需要和另一个singleton对象协作,或者一个非singleton对象需要和另一个非singleson对象协作时,Spring.NET都能很好的处理它们的依赖关系。但是,如果对象的生存周期不同,就可能会产生问题。例如,假设一个singleton对象A要使用一个非singleton(原型)对象B,A中的每个方法都会用到B的新实例。由于A是singleton对象,容器只有会创建它一次,也就是说只有一次给A的属转载 2011-03-26 20:57:00 · 1806 阅读 · 0 评论 -
Spring.NET学习笔记8——集合类型的注入(基础篇)
<br />Spring.NET还支持集合类型的注入。而且使用起来也比较方便。<br /><br />一、ILIst类型<br /><br /> 使用<list>元素作为ILIst的标签,value为集合中元素的值。也可以注入对象,甚至关联其它对象,使用 <ref/>元素表示关联的对象,object 属性为所关联对象的id或name。集合可以为空,用<null/>元素来标记。<br /><br /> 在<list>元素中设置 element-type 属性表示泛型T的类型,例如 element-type转载 2011-03-26 20:54:00 · 1884 阅读 · 0 评论 -
Spring.NET学习笔记6——依赖注入(应用篇)
<br />谈到高级语言编程,我们就会联想到设计模式;谈到设计模式,我们就会说道怎么样解耦合。而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny Injection)简称DI,目前DI是最优秀的解耦方式之一。下面我就来谈谈依赖注入的应用场景。<br /><br /> 我模拟了三种不同的场景,可以一起学习使用依赖注入的重要性。<br /><br />下面是应用场景的条件:人类使用工具劳动。 /**//// <summary> /// 抽转载 2011-03-26 20:51:00 · 1856 阅读 · 0 评论 -
Spring.NET学习笔记5——容器中对象的作用域(基础篇)
<br />一、属性注入<br /><br /> 上篇我们简单提到依赖注入的用途。回顾一下所讲内容,发现在object节点下使用了<property name="Tool" ref="computer"/>。而property 标签正是用来属性注入的。而ref是用来标识是关联到哪个object。而name属性是指属性名。如下: <object id="modernPerson" type="SpringNetIoC.ModernPerson, SpringNetIoC"> <property转载 2011-03-26 20:49:00 · 2033 阅读 · 1 评论 -
Spring.NET学习笔记4——对象的创建(基础篇)
<br />学过了前面的课程,我们来一起学习Spring.NET的IoC容器对象的创建。<br /><br /> 创建对象一般有3种方式:1.构造器创建,2.静态工厂创建,3.实例工厂创建<br /><br /> 多数情况下,容器会根据对象定义中的type属性值去直接调用相应类型的某个构造器。另外,容器也可以调用工厂方法来创建对象,这时type属性的值就应该是包含工厂方法的类型(按:而不是要创建的类型,但通过该对象定义的名称获取的则是由工厂方法所创建的对象)。工厂方法的产品对象可以是工厂方法所在的类型,原创 2011-03-26 20:45:00 · 1510 阅读 · 0 评论 -
Spring.NET学习笔记3——实现一个简易的IoC框架(练习篇)
<br />讲了这么多理论,我们来手动实现一个简易的IoC框架的,这样可以加深IoC的理论知识。<br /><br />一、思路<br /><br />在我们使用Spring.NET框架的时候,首先需要实例化Spring.NET容器, 然后调用IoC容器IObjectFactory接口中GetObject方法获取容器中的对象。通过这一点就可以告诉我们制作IoC容器需要写一个获取 XML文件内容的方法和申明一个Dictionary<string, object>来存放IoC容器中的对象,还需要写一个能从Dic转载 2011-03-26 20:43:00 · 1760 阅读 · 1 评论 -
Spring.NET学习笔记2——环境搭建(基础篇)
<br />我们先来一起学习一下怎样使用Spring.NET。<br /><br />一、环境下载及安装<br /><br />到Spring的官方网站下载Spring.NET框架的安装文件(Spring.NET-1.3.0-RC1.exe)。目前Spring.NET最新的版本是1.3。下载并解压后就可以了。<br /><br />我们使用Spring.NET框架经常用到的一下几个文件:<br />Common.Logging.dll(必要)<br />Spring.Core.dll(必要)<br />Sp转载 2011-03-26 20:31:00 · 2461 阅读 · 0 评论 -
基于.NET平台的分层架构实战(三)——架构概要设计
<br />本文主要是对将要实现的架构进行一个总体的描述,使朋友们对这个架构有个宏观上的认识。这篇文章理论性的东西会偏多一点,从下篇开始,将进行实际项目的开发。这篇文章的许多内容摘自我的毕业论文。<br /><br />架构基本原则:<br /> 这里,将描述一些在这个架构设计中的基本原则,其中很多都是经典的设计原则,不过针对分层架构的特点,用我自己的语言进行了描述。其中也有我自己提出的原则。<br /><br /> 逐层调用原则及单向调用原则<br /> 现在约定将N层架构的转载 2011-03-26 21:09:00 · 1273 阅读 · 0 评论