C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年3月16日

摘要: 工厂方法模式(Factory Method),定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。 工厂方法模式在实现时,客户端需要决定实例化哪一个工厂来实现运算类,选择判断的问题还存在,也就是说,工厂方法把简单工厂的内部逻辑判断移到了客户端代码来进行。想要加功能,本来是修改工厂类的,而现在是修改客户端。 下面给出工厂方法模式UML图: 工厂方法模式示例:namespace 工厂方法模式{ //数据库类 class DataBase { public virtual string SelectTopOne... 阅读全文
posted @ 2013-03-16 23:39 逆心 阅读(492) 评论(0) 推荐(0) 编辑

摘要: 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式的优点: (1)、职责清晰,真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。 (2)、代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了的作用和保护了目标对象的作用。 (3)、高扩展性 代理模式的UML图: 代码示例:namespace ConsoleApplication1{ abs... 阅读全文
posted @ 2013-03-16 22:37 逆心 阅读(378) 评论(0) 推荐(0) 编辑

摘要: 装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 装饰者模式隐含的是通过一条条装饰链去实现具体对象,每一条装饰链都始于一个Componet对象,每个装饰者对象后面紧跟着另一个装饰者对象,而对象链终于ConcreteComponet对象。 用粗略的话讲:装饰模式就是为已有功能动态地添加更多功能的一种方式。 何为动态。比如打折策略。3折后再减30元再打8折, UML图如下: Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对... 阅读全文
posted @ 2013-03-16 16:43 逆心 阅读(407) 评论(0) 推荐(0) 编辑