上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 30 下一页
摘要: 上篇我们学习了AOP的基本概念,我们回顾一下上篇提到的Advice(通知):所谓通知是指拦截到joinpoint(连接点)之后所要做的事情就是通知.通知分为前置通知,后置通知,异常通知,环绕通知。   Spring.NET的通知既可由某个类的所有对象共享,也可由该类型的单个实例独占。共享的通知称为基于类型(per-class)的通知,而独占的通知称为基于实例(per-instance)的通知。  ... 阅读全文
posted @ 2009-12-30 13:48 catch22 阅读(778) 评论(0) 推荐(0) 编辑
摘要: 上篇我们简单的了解了AOP的应用场景,知道AOP编程的重要性。这篇我们先看一段代码,来开始今天的学习。   回顾与上篇类似的代码:SecurityService类的IsPass判断用户名为“admin”则有权限保存数据。OrderService为保存数据的类,实现IOrderService接口。    public class SecurityService    {   ... 阅读全文
posted @ 2009-12-30 13:46 catch22 阅读(835) 评论(0) 推荐(0) 编辑
摘要: AOP即面向切面编程(Aspect Oriented Programming的缩写),是OOP(面向对象编程)的一种延续形式。是通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术,它从一个不同于OOP的角度来看待程序的结构:OOP将应用程序分解为一系列表现为继承关系的对象;AOP 则把程序分解为一系列方面(aspects)或者关注点(concerns)。AOP... 阅读全文
posted @ 2009-12-30 13:45 catch22 阅读(929) 评论(0) 推荐(0) 编辑
摘要: Spring.NET通过几个专门的接口来控制容器中对象的行为。说到对象的行为无非就要提到对象的生命周期控制。类似在WinForm开发,Form生命周期中,Load方法为Form的载入方法和Dispose方法为Form的销毁方法。Spring.NET都能完美的实现这些需求。      一、生命周期接口  在使用Spring.NET框架的时候通常遇到怎样初始化和销毁非托管资源(如数据库连接)的麻烦,下... 阅读全文
posted @ 2009-12-30 13:43 catch22 阅读(904) 评论(0) 推荐(0) 编辑
摘要: 多数用户都会将容器中的大部分对象布署为singleton模式。当一个singleton对象需要和另一个singleton对象协作,或者一个非singleton对象需要和另一个非singleson对象协作时,Spring.NET都能很好的处理它们的依赖关系。但是,如果对象的生存周期不同,就可能会产生问题。例如,假设一个singleton对象A要使用一个非singleton(原型)对象B,A中的每个方... 阅读全文
posted @ 2009-12-30 13:42 catch22 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: Spring.NET还支持集合类型的注入。而且使用起来也比较方便。   一、ILIst类型  使用<list>元素作为ILIst的标签,value为集合中元素的值。也可以注入对象,甚至关联其它对象,使用 <ref/>元素表示关联的对象,object 属性为所关联对象的id或name。集合可以为空,用<null/>元素来标记。  在<list>元素中设... 阅读全文
posted @ 2009-12-30 13:40 catch22 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 我们在《打造简易的依赖注入框架(上)》中学习里一个简易的IoC框架。今天我们接着上次的程序,实现带参数构造函数对象的实例和属性的注入。   我们知道可以通过反射获取类的构造函数及参数(GetConstructors方法);可以获取属性和属性的类型(GetProperties方法)。通过Activator的CreateInstance(Type type, params object[] args)... 阅读全文
posted @ 2009-12-30 13:40 catch22 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 一、属性注入   上篇我们简单提到依赖注入的用途。回顾一下所讲内容,发现在object节点下使用了<property name="Tool" ref="computer"/>。而property 标签正是用来属性注入的。而ref是用来标识是关联到哪个object。而name属性是指属性名。如下:<object id="modernPerson" type="SpringNetIo... 阅读全文
posted @ 2009-12-30 13:39 catch22 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: 谈到高级语言编程,我们就会联想到设计模式;谈到设计模式,我们就会说道怎么样解耦合。而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny Injection)简称DI,目前DI是最优秀的解耦方式之一。下面我就来谈谈依赖注入的应用场景。   我模拟了三种不同的场景,可以一起学习使用依赖注入的重要性。  下面是应用场景的条件:人类使用工具劳动。  ... 阅读全文
posted @ 2009-12-30 13:38 catch22 阅读(1304) 评论(0) 推荐(0) 编辑
摘要: 容器中对象的部署分为两种方式:singleton和非singleton(java里叫prototype)。这里的singleton指的是“单例模式”,就是说当一个对象被定义为singleton时,容器中就只会有一个共享的实例,任何时候通过id或别名请求该对象都会返回这个共享实例的引用(也就是说这个对象只会被创建一次)。当使用非singleton,或者说原型模式布署时,每次请... 阅读全文
posted @ 2009-12-30 13:34 catch22 阅读(1597) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 30 下一页