结构型模式
我们这里介绍两种结构型模式
类对象结构型
- ADAPTER 适配器模式
对象结构型
- COMPOSITE 组合模式
适配器模式
适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
适配器可以分为类适配器和对象适配器。
类适配器使用多重继承对一个接口与另一个接口进行匹配。
对象适配器依赖于对象组合
UML图
例子:
|
|
测试结果:
适配器和装饰者模式比较
适配器:将一个接口转成另一个接口。包装某些对象,让它们的接口看起来不像自己而像别的东西。
装饰者:不改变接口,但加入责任。将对象包装起来,让新行为加入类中
组合模式
组合模式允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。
这个模式能够创建一个树形结构,在同一个结构中处理嵌套菜单和菜单项组。通过菜单和项放在相同结构中,我们创建了一个“整体/部分”层次结构,即由菜单和菜单项组成的对象树。
使用组合结构,我们能把相同的操作应用在组合和个别对象上。
换句话说,在大多数情况下,我们可以忽略对象组合和个别对象之间的差别。
UML图
例子:
|
|
测试结果: