问题描述
类之间确实存在更好的关系吗?还是取决于我们拥有的软件? 我知道我们在类关系中具有is-a和has-a关系,但是在软件设计人员之间是否存在一个确信的关系,并且它是最可取的。
解决方法
类之间的唯一首选关系是独立性。因为独立意味着将关注点与发展自由严格分离。 (笑话)
但是不幸的是,独立性不是很有用:很多寂寞的类只会帮助解决很多孤立的小问题。如果您真的想使有用的东西,则必须关联正确的类。然后,唯一重要的是什么样的关系可以帮助您最好地满足您的需求。有时是继承(is-a),有时是composition(has-a)。一切都取决于上下文。
您的“医生”可能的意思是更喜欢 composition over inheritance 。这是一个有用的建议。但这是一条简单的经验法则:它不是普遍真理。