【发布时间】:2019-10-22 00:59:21
【问题描述】:
Gamma 等人所说的设计模式
考虑对象聚合和熟人之间的区别,以及它们在编译和运行时的表现方式有何不同。
聚合意味着一个对象拥有或负责另一个对象。通常我们说一个对象具有或属于另一个对象。聚合意味着聚合对象及其所有者具有相同的生命周期。
相识意味着一个对象只知道另一个对象。有时熟人被称为“联想”或“使用”关系。熟悉的对象可以相互请求操作,但不相互负责。熟人关系比聚合关系更弱,表明耦合更松散 对象之间。
要展示的另一件有用的事情是哪些类实例化了哪些其他类。我们称之为 “创造”关系。箭头指向实例化的类。在图c中,
多个对象可以聚合同一个对象吗? 如果对象A聚合对象B,另一个对象可以说C也聚合B吗?
多个对象可以认识同一个对象吗? 如果对象A认识对象B,另一个对象可以说C也认识B吗?
多个对象可以实例化同一个对象吗?
【问题讨论】:
标签: design-patterns aggregation