ABAP设计模式之---“结构型模式汇总(Structural Patterns)”

1. 概述

“结构型模式”是GoF设计模式中的第二大类,包括了适配器模式、装饰模式、外观模式、代理模式、桥接模式、组合模式以及享元模式7种。

其中,适配器模式、装饰模式、外观模式和代理模式,都是通过wrapper结构的引入,为类的访问提供间接性,从而提升设计的灵活性,它们4种同属“包装模式家族”。

2. 目的

在盖房子前,我们需要明确房屋的用途,然后设计合理的房屋结构,最后通过钢筋、水泥、管道、电路等等元素的合理使用,最终完工一项工程。

在面向对象的程序世界中,“结构化模式”描述了类与类之间的结构关系,通过协同不同的类和实例,可组装成一个更大的结构,进而实现程序的功能。

让我们在本篇中,共同回顾一下所学过的“结构型模式”,首先回顾下包装模式家族:

目的/场景 接口类型
代理模式(Proxy Pattern) 为另一个对象提供一个代理或占位符,以控制对它的访问 与目标对象相同
装饰模式(Decorator Pattern) 通过使用公共接口,封装对对象(实例)的访问以扩展功能 与目标对象相同
适配器模式(Adapter Pattern) 将类的接口转换为客户端期望的另一个接口。 适配器可以协同不同的类一起工作,共同实现预期的接口功能。 与目标对象不同,依据Client需求定义接口
外观模式(Facade Pattern) 为子系统中的一组接口提供统一的接口。 Facade定义了一个更高级的接口,使子系统更容易使用。 与目标对象不同,是一个全新的接口

接下来,是组合模式、桥接模式和享元模式:

目的/场景 类比
组合模式(Composite Pattern) 将对象组合成树形结构,以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有"一致性"。 “树状结构”
桥接模式(Bridge Pattern) 将抽象部分与它的实现部分分离,使得它们都可以独立地变化。桥接模式(Bridge)也称:柄体模式(Handle and Body)或接口模式(Interface)。 把“蜡笔”转成“毛笔 + 颜料盒”
享元模式(Flyweight Pattern) 运用共享技术,支持大量细粒度的对象。享元模式又称“轻量级模式”,也就是Flyweight的直译 “共享单车”,优化资源的使用率

各位同学可通过对应的链接,导航至具体的模式,进一步查看解析和实例代码。

以上,是本篇对GoF创建型模式的总结,欢迎分享、留言。

上一篇:面向对象设计原则


下一篇:PAT 甲级A1071 Speech Patterns (25 分)