最近一直在看设计模式方面的书,看完了第一部分接口型模式,下面是我的一些个人理解:
1.
Adapter(适配器)模式
我的理解就是怎样通过调用已经存在的方法来解决客户给我们的问题,这里的调用已经存在的方法就是java中的复用代码,可以通过组合和继承来实现。换句话说,就是引用或者继承现有的方法类来适配客户提供来的问题接口。
2.
Facade(外观)模式
定位于内部组件和外部客户程序之间,用于二者间的桥梁。中间类的建立主要面向外部客户程序,为其提供功能接口,其方法体通过调用内部组件来实现。这样不仅简化了调用关系,还在一定程度上达到了“解耦”的效果。
3.
Composite(组合)模式
主要解决客户在处理单个对象和组合对象上的接口一致性。具体的解决方法就是使用将对象用“树型结构”组织起来,以达成“部分-整体”的层次结构。通过遍历(Iterator)整个树型结构,获取所有的对象。
4.
Bridge(桥接)模式
进一步的将抽象化与实现化“解耦”。桥梁模式中的所谓脱耦,就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以相对独立地变化。
抽象化角色(Abstraction)引用了实现化角色(Implementor)的接口,并且抽象了客户的功能接口(面向客户)。
实现化角色(Implementor)抽象出底层操作(面向底层)。