1、外观模式
解决问题:提供一个统一的接口,来访问子系统中一群功能相关接口。外观模式定义了一个高层接口,让子系统更容易使用。
【设计模式四】实现方法:创建一个类将子系统所使用的方法封装在里面,使外界并不直接调用子系统的方法,降低其耦合性。
2、模板模式
解决问题:封装了一个算法步骤,并允许子类为一个或多个步骤提供实现。模板模式可以使子类在不改变算法结构的前提下,重新定义算法中的某些步骤。
实现方法:创建一个超类将一系列步骤封装为一个final类,不可以被子类重写,所有具有同一步骤的类都可以用该类作为模板;可以提供供子类个性化定义的抽象类;可以把某些有共同算法设为final类。
3、迭代器模式
解决问题:提供一种方法顺序访问一个聚合对象的各个对象
实现方法:提供一个iterator接口供其他 类继承,让其他类具有迭代器的特性。Java内部对某些内部的数据结构实现了迭代器
4、组合模式
解决问题:将对象聚合成树形结构来表现“整体、部分”的层次结构,组合模式能让客户以一致的方式来处理个别对象以及对象组合。也就是可以忽略对象组合与个体对象之间的差异。
实现方法:创建一个超类,让其中的整体和部分都继承自该超类,使这里的整体和部分都具有一种共同的属性,以便于进行一些排序啊等操作。