Leo Zhang

A simple man with my own ideal

03 2010 档案

浅析如何在ObjectBuilder2中用动态方法进行构造器注入
摘要:一、前言 在我看来,OB2是一个用来构建和管理对象的开放性的框架,我们可以根据自己的需求去扩展它,例如扩展它可以实现依赖注入(如MS的Unity)。我认为OB2最大的亮点之一是在提供了对象创建框架的同时能够管理对象以及对象之间的依赖关系,控制对象构建和销毁过程,这样对象的创建就不是直接去使用new而对象的销毁也不仅仅只靠GC了。要说OB2所使用的设计模式,我觉得可以认为是大量使用策略(Strategy)模式并辅以责任链模式,通过责任链组织对象创建或销毁的次序及步骤。 阅读全文

posted @ 2010-03-15 18:19 Leo Zhang 阅读(2020) 评论(6) 推荐(0) 编辑

Castle动态代理技术初探
摘要:假设朋友给我一个CalculatorLib.dll文件,里面包含了一个计算器接口和一个实现了该接口的计算器类,我的程序里要用到这个计算器来计算两个整数的和(仅作为简单例子,不考虑溢出处理等其他方面),计算器的实现大概如下: public interface ICalculator { Int32 AddOperation(Int32 p1, Int32 p2); } public class Calculator : ICalculator { public virtual Int32 AddOperation(Int32 p1, Int32 p2) { //① //② return p1 + p2; //③ } } 我的需求是:想在①这里为代码赋予修改输入参数和返回值的权限,在②更改参数和返回值,在③这里收回该权限,分两种情况 阅读全文

posted @ 2010-03-04 22:28 Leo Zhang 阅读(4063) 评论(18) 推荐(5) 编辑

导航

统计信息

点击右上角即可分享
微信分享提示