设计模式:组合模式与装饰器模式解析
1. 组合模式概述
在编程实践中,对象常常由其他对象组成,也就是对象之间存在聚合或组合关系。组合模式的核心目标是为单个对象和对象组提供相同的接口,确保接口成员在不同的底层类中都能正确工作。
1.1 对象组合的表示方式
一个对象可以通过以下几种方式表明它是由其他对象组成的:
- 实现 IEnumerable<T> 接口 :对象可以直接实现 IEnumerable<T> 接口(其中 T 是要暴露的类型),或者暴露实现了 IEnumerable<T> 的公共成员。这是最常见的表示方式,但不是唯一的,还有如 IAsyncEnumerable 等接口也能表达类似的概念。
- 继承已知的集合类 :继承像 Collection<T> 、 List<T> 等集合类,这样不仅能隐式实现 IEnumerable<T> 接口,还能获得内部存储机制,自动处理向集合中添加新对象等问题。
1.2 图形对象分组示例
以 PowerPoint 应用为例,用户可以选择多个不同的对象并将它们作为一个整体拖动,也可以单独选择一个对象进行操作。在渲染方面,既可以渲染单个图形对象,也可以将多个形状组合在一起作为一个组进行绘制。
超级会员免费看
订阅专栏 解锁全文
1392

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



