我知道有很多原因可以让您将某个对象组合到另一个对象中。一些思想流派已经明确说明了以某种方式构建程序的原因,例如“数据驱动设计”或“领域驱动设计”。我仍然是 OOP 的初学者,而且我通常很难理解为什么一个对象应该包含在另一个对象中。有时,我发现自己有一个看起来很棒的对象,然后我意识到,“好吧,现在我必须把它放在某个地方?” 这背后的原因是否类似于我决定将文件放在硬盘上的原因?
为此,我有几个指导原则:
- 如果它模拟了物理世界中的关系。
- 如果作曲家有构造对象所需的数据。
- 如果组合对象将听作曲家。
当你做出这个决定时,你会寻找什么?