在域模型中使用多重继承是否可以接受?

时间:2013-06-27 17:18:41

标签: uml domain-driven-design

在多次建模业务领域时,我遇到了一种情况,即类的多重继承可以使我的模型更加简洁。我知道,在大多数编程语言中,包括将成为我项目主要语言的java,不支持多重继承。但它可以通过接口实现。 在UML中使用多重继承来建模域来解释概念并将它们留给实现者如何实现它是一个好的或至少是可接受的想法?或者它比专业人士更有利?

1 个答案:

答案 0 :(得分:1)

在UML中使用多重继承来建模域来解释这些概念并将它们留给实施者如何实现它是不是一个好的或至少可以接受的想法?

一方面,如果您要进行UML建模(应该代表实际代码)并谈论多重继承等软件工程概念,请确保它适合编程语言,这是程序员的语言。另一方面,如果您尝试传达高级概念,则可以完全保留术语多重继承,并以任何您想要的方式绘制非UML图。我的建议是将概念与实现细节完全分开,因为根据我的经验,这将不可避免地导致混淆。尝试在两者之间进行转换,但不要混用。

此外,当你为他们提供服务的编程语言不支持多重继承这一事实时,你不会被你的团队所爱。只需与他们合作,找到合适的解决方案。你可能不得不妥协,但这就是生活。

多重继承本身并不坏。来自C ++背景,但现在偶尔使用Java工作,我希望Java支持多重继承。但这些场合非常罕见,这就是为什么你应该小心认为多重继承是实现目标的唯一正确方法。