--
发布时间:2014-02-25 13:31:24
1、是什么? 定义算法家族,分别封装起来,让他们之间互相替换,此模式让算法变化,但不会让使用者收到影响。2、为什么?何时? 定义一系列算法,所有这些算法完成相同的工作,只是实现不同,采用相同的方式调用所有算法,减少了各种算法类与使用算法类之间的耦合。同样可以使用简单工厂模式.........【阅读全文】
发布时间:2014-02-25 12:54:08
1、是什么? 迭代器模式,提供一种方法顺序访问一个聚合对象中各元素,而不暴露该对象内部表示。2、为什么?何时? 当需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,就应该考虑使用迭代器模式。3、怎么用?4、示例代码 点击(此处)折叠或打开.........【阅读全文】
发布时间:2014-02-25 10:02:35
1、是什么? 定义一个操作中的算法骨架,而将一些步骤推迟到具体的子类中实现。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。2、为什么?模板方法模式通过把不变行为搬移到超类,去除子类的重复代码体现优势,是一个很好的代码复用平台。3、怎么用?UML类图4、如何做.........【阅读全文】
发布时间:2014-02-25 09:12:10
转载自:http://www.cnblogs.com/zuoxiaolong/p/pattern26.html,感谢作者代理模式设计原则:体现功能复用常用场景:需要修改或屏蔽某一个或若干个类的部分功能,复用另外一部分功能,可使用静态代理,若是需要拦截一批类中的某些方法,在方法的前后插入一些一致的操作,假设这些类有一致的接口,可使用J.........【阅读全文】
发布时间:2014-02-24 20:15:42
1、是什么? 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。2、为什么? 对对象进行包装,每个装饰对象的实现就和如何使用这个对象分离开,每个装饰对象关心自己的功能,不用关心如何被添加到对象链中。3、怎么样? 首先创建基本的对象,.........【阅读全文】