设计模式
文章平均质量分 75
SummerMangoZz
菲fans
展开
-
桥接模式(合成/聚合+单一职责的体现)
假设现在有这么一个请求:创建多个不同的窗口系统,如临时会话窗口(transientWindow)和图标窗口(iconWindow)以及其他各种类型窗口,同时这些窗口的要在linux和unix以及window上都能创建。这是一个典型的多种变化结合在一起的例子。很多人一开始会使用继承来解决这个问题,如下: public原创 2017-02-28 08:24:58 · 555 阅读 · 0 评论 -
迭代器模式
迭代器模式几乎在所有面向对象语言中都大量存在,且被很多语言支持,如java,c#等已经内部支持(也就是foreach)。迭代器模式可以为不同的集合对象提供统一的遍历接口,而不用关心集合的内部结构。遍历集合对象时,优先使用迭代器模式,能让代码更具可移植性和重用性。下面时具体代码(代码只是粗糙实现): //声明一个集合接口 public interface Collection { publi原创 2017-02-24 15:04:17 · 408 阅读 · 0 评论 -
饿汉式和懒汉式(单例模式详解)
单例的目的是保证某个类仅有一个实例。当有某些类创建对象内存开销较大时可以考虑使用该模式。单例模式又分为饿汉式和懒汉式。下面分别说明: 1.饿汉式。顾名思义,该模式在类被加载时就会实例化一个对象。具体代码如下: public class Person { //饿汉式单例 private static Person person = new Person(); private Person(原创 2017-02-25 14:37:14 · 8548 阅读 · 0 评论