组合模式与桥接模式:设计模式的深度解析
1. 组合模式基础
组合模式包含两个强大且相关的概念。其一,一个组可以包含单个项目或其他组;其二,组和单个项目可能共享一个公共接口。在对象建模中,我们可以创建一个抽象类或 C# 接口来定义组和单个对象共有的行为。
1.1 组合模式的关键思想
组合模式的关键思想在于,组合可以包含其他组合(而非仅仅是叶子节点),并且组合节点和叶子节点共享一个公共接口。例如,在图 5.1 中,Component 类是一个没有具体操作的抽象类,我们可以将其定义为一个接口,由 Leaf 和 Composite 实现。
classDiagram
class Component {
+Operation()
}
class Leaf {
+Operation()
}
class Composite {
+Operation()
+Other()
}
Component <|.. Leaf
Component <|.. Composite
1.2 组合中的递归行为
在烟花生产中,Oozinoz 的工程师们发现了加工机器的自然组成结构。工厂由车间组成,每个车间有一条或多条生产线,生产线是一组协同工作以按计划生产材料的机器。开发人员将工厂、车间和生产线视为复合“机器”,使用如图 5.2 所示的类结构进行建模。
超级会员免费看
订阅专栏 解锁全文
9244

被折叠的 条评论
为什么被折叠?



