希望高手能解惑。非常高的概述是我不是编码的初学者,但对 OOP 还是新手。这组消息类是我们正在编写的一个大型模拟应用程序的核心,我不想愚蠢地这样做——这个接口将应用程序切成两半,从定序器到执行器,反之亦然。
我的问题是拥有这么深的继承层次结构是否是一个坏主意(图像尚未充实,最终可能会达到 5 或 6 深)。这与让某些子类与其父类直接关联而不是继承相反。
我读过深继承层次结构不是一个好主意,如果子类继承只是为了拥有父级的数据,那么您应该简单地将父级作为数据包含在子级中,但我很难时间围绕为什么。如果我决定将继承层次结构设为 7 深或类似的东西,将会发生什么坏事?显然,性能受到了一点影响,并且在层次结构的顶部进行更改会在整个应用程序中产生巨大的影响,但除此之外我没有看到任何问题。除此之外,我不太关心性能上的细微差别。
(额外的问题:是否有现成的包可以处理这类东西?我们处理了大部分低级物理模拟,但我们将不得不编写排序程序。我只是怀疑我所列出的内容与我之前大约 10,000 名模拟开发人员所做的非常相似。)
(奖励问题 #2:任何同时掌握模拟系统和 OOP 编程的大师,都不会讨厌住在洛杉矶?我们正在招聘。)