软件架构设设计模式学习笔记

1.结构模式

1.1. 适配器模式

    把一个错误的接口转换为所希望的形式,基于类的适配器继承了需要适配的类,以此得到这个类的接口,
    同时适配器还继承了它并不需要的包袱,基于对象的适配器通过聚集得到需要适配的类,它基于类的适配
    器一样,是专门为需要适配的类所写,但并不继承包袱

1.2. 桥梁模式

    把对客户所提供的接口抽象于实现接口相互分离,抽象的类的层次于它的实现部分通过桥梁进行链接,以此达到双方单独修改
    或者扩展的目的。

1.3. 装饰模式

可以在运行时候动态的给一个对象或者它的子类增加附加功能

1.4. 外观模式

是简化的抽象接口,通过这个接口可以调用一个子系统中的类,外观对象吧对方法的调用委托给子系统中的对象

1.5. 组合模式

允许对树型结构中的简单的或符合的对象同等处理

1.6. 代理模式

隐藏了在代理对象后面具有相同的接口对象,这个代理对象封装了对真实对象的所有通信,它可以把功能委托给真实的对象
 或者加附加的功能。

2.行为模式

2.1. 模板方法模式

在基类中已经确定了算法的结构,通过静态的继承的子类实现算法中变化的部分

2.2. 命令模式

把命令作为对象进行封装,这样可以让一个名流那个生成和执行的部分分离开来。命令可先生成,然后以后的某一时刻在执行,
 所有的命令如果放入一个列表中就可以轻松的实现日志功能或撤销。

2.3. 观察着模式

允许一个对象把自己的状态变化通知给依赖于它的对象,依赖的对象可以根据收到的事件做出反应,并索取更改的数据,通过使用观察者模式,依赖的对象不必使用轮询(控制反转)。

2.4. 策略模式

一个完整的算法策略可以在运行是动态的和另一个功能上等价算法交换,模式提取备选算法,通过接口对它进行抽象化并把它
封装在一个对象中。

2.5. 中间者模式

允许对象通过一个中间者惊醒交流,中间者会把收到的消息通知给所有相关的对象,因此每一个对象都是相互独立的,可以更换的,中间者模式通过储在重要的中心位置的中间者协调一个整体的对象组

2.6. 状态模式

每一个状态都封装在所处的类中,类继承自通用的抽象类活着实现了一个通用接口,一个依赖于状态的对象于实现的状态相关联并可以执行改变的状态。

2.7. 角色模式

允许一个对象子啊不同的环境、不同的时间扮演不同的角色,也可以多个对象扮演同一个角色,角色被实现为独立的对象。

2.8. 拜访者模式

可以把一个新的操作添加到一个已有的数结构中,这个操作通过对数据结构对象进行加工,实现他的功能,这样的操作封装在一个拜访者对象中,在对象模式中,可以访问的对象必须有所准备。为拜访者提供相应的方法。

2.9.迭代器模式

可以把由多个对象组成的数据结构按照不同的执行策略进行循环,客户不需要了解数据结构的组成

3.创建型模式

3.1. 工厂方法模式

允许把一个具体的实例生成封装在一个子类的方法中,子类在模式中静态的确定其生成对象的结构和行为

3.2. 抽象工厂模式

通过选取相应的具体工厂,在运行时可以选择一个产品系列,并由它负责生成对象

3.3. 单例模式

用于确定一个类只能生成唯一的对象,这个模式工作中整体都不需要继承

3.4. 对象池模式

对象的生成和销毁消耗过大,所以不能经常生成销毁对象,而应该复用,这些对象放在一个池中,
应用根据需求使用这些对象,因此节省了资源。如:内存池、线程池、链接池

你可能感兴趣的:(java,设计模式)