摘要:关于dependency injection和IOC,博客园的各位大牛们都写过不少文章,在此不发表个人的拙见.近日在网上乱晃,找到一个外国仁兄的一个关于dependency injection和IOC的PPT,个人感觉比martin flower写的那篇dependency injection更好理解,并且加以更多实例,包括现实世界中的一些容器的实例(castle windsor containe...
阅读全文
随笔分类 - 学习模式
摘要:一, 创建型模式 (Creational Patterns)这一类型的设计模式, 所要表现的是对象的创建过程及和用户所使用的对象之间的关系. 二, 结构型模式 (Structural Patterns)这一类的模式关心类和对象之间怎么组织起来形成大的结构. 主要使用继承来组织接口或实现. 三, 行为型模式 (Behavioral Patterns)这一类的模式关心的是算法以及对象之间的任务分配. ...
阅读全文
摘要:命令模式是对命令的封装.命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象.该模式的示意类图如下:下面是一个Command模式的例子(模仿<Java与模式>中的例子).现有一个录音机(AudioPlayer),他有播放(Play),到带(Rewind)和停止(Stop)三个功能,利用Command模式实现中,录音机(AudioPlayer)则为Receiver对象,将录音...
阅读全文
摘要:摘自(http://www.contextfree.net) 向依赖关系宣战 依赖倒置、控制反转和依赖注入辨析在《道法自然——面向对象实践指南》一书中,我们采用了一个对立统一的辩证关系来说明“模板方法”模式—— “正向依赖 vs. 依赖倒置”(参见:《道法自然》第15章[王咏武, 王咏刚 2004])。这种把“好莱坞”原则和 ...
阅读全文
摘要:"策略模式是对算法的包装,是把使用算法的责任和算法本身分割开,委派给不同的对象管理......"(<java与模式>),其简单示意类图如下: 文中提到,策略模式仅仅是封装算法,至于客户端具体要使用哪个具体策略类,则由客户端去判断。 个人十分不理解这种做法,既然要客户端知道所有的具体策略类,并且去判断使用谁,那何必对具体策略类进行抽象呢?进行抽象后,客户端可能会如下使用各种策略:IStr...
阅读全文
摘要:仿照<java与模式>中bridge模式的例子自己改写的一个例子:有N个飞机制造商(AirBus.....),每个飞机制造商有客机(PassenagerPlane)和货机(CargoPlane).....实现代码如下:1.飞机制造商抽象接口:interfaceIAirPlaneMaker{stringname{get;}//制造商名称IAirPlaneproducePass();//生...
阅读全文
摘要:/**//***************************************************** * 一个观察者模式(Observer Pattern)例子 *本例子包括四个角色: *1.抽象主题(ISubject) 2.抽象观察者(IObserver) *3.具体主题(ConcreteSubject) 4.具体观察者(ConcreteObserver) *他们之间的关系是...
阅读全文
摘要:/**//***************************************************** *一个责任链模式例子 *该例子是三类售货员处理订单的情况 *如果订单金额小于1000,则一级售货员可以处理该订单 *如果订单金额小于10000,则二级售货员可以处理该订单 *如果订单金额小于100000,则三级售货员可以处理该订单 ********************...
阅读全文