设计模式(八):组合模式

2019/12/25

将对象组合成树形结构的部分-整体层次结构

组合模式

组合模式可能就在我们初学OOP的时候就接触过了,你可能写过这样的代码

class Car{
    private Wheel wheel;
    private Window window;
}

组件

在上面的例子中,Car所扮演的角色就是组件,客户端可以通过组件来调用其组合的另外一些组件执行一些操作

组合

当一个组件包含另外一个组件,这样的模式被称为组合

耦合问题

为了防止组件之间耦合过紧,我们也可以通过针对接口编程的方式来降低耦合

在上面Car的例子当中,Wheel与Window都可以被定义成接口,它们的实现类可以再运行期间动态指定

类图

Post Directory