23个设计模式
第一部分 接口型模式
1. Adapter(适配器)模式
Adapter模式的宗旨就是,保留现有类所提供的服务,向客户提供接口,以满足客户的期望。
1.1 接口适配
继承老类,实现新类,实现新类的方法里调用老类方法。
1.2 类和对象适配器
继承新类,老类当属性,继承新类方法里调用老类方法。
?
2. Facade(外观)模式
Facade模式的目的在于提供一个接口,使子系统更加容易使用。
把子系统的类重构为一个个目的明确的类,为了子系统便于使用,在子系统中顺带提供一些示例类或者外观类。
?
3. Composite(组合)模式
让用户用统一的接口处理对象以及对象组合。
?
4. Bridge(桥接)模式
将抽象与抽象方法的实现相分离,让他们可以独自变化。
把不同实现的方法移到一个新的Driver类中,然后把Driver类作为属性。
有名的例子:JDBC数据库驱动程序
第二部分 责任型模式
?
5. Singleton(单例)模式
确保某个类只有一个实例,并提供一个全局访问点。
实现方法一:将单例对象作为单例类的一个静态域创建实例。
?
17. State(状态)模式
把状态有关的处理逻辑分散到代表对象状态的各个类中。
?
18. Strategy(策略)模式
可选的策略封装在不同的类中,并在这些类中实现一个共同的操作。
?
19. Command(命令)模式
把请求封装在对象里。
?
20. Interpreter(解释器)模式
?
第五部分 扩展型模式
?
21. Decorator(装饰器)模式
混合操作的不同变化。
?
22.? Iterator(迭代器)模式
提供一个顺序访问集合元素的方法。
?
23. Visitor(访问者)模式
不修改现有类,定义类层次结构的新的操作。
?
保留最后行