在对业务领域进行建模时,我多次遇到这样一种情况,即一个类的多重继承可以使我的模型更加简洁明了。我知道,在大多数编程语言中,包括将成为我项目主要语言的 java,不支持多重继承。但它可以通过接口来实现。在 UML 中使用多重继承对域进行建模以解释概念并将其留给实现者如何实现它是一个好的或至少可以接受的想法吗?还是利弊多于利弊?
问问题
1713 次
1 回答
2
在 UML 中使用多重继承对域进行建模以解释概念并将其留给实现者如何实现它是一个好的或至少可以接受的想法吗?
一方面,如果您要进行 UML 建模(应该代表真实代码)并谈论软件工程概念(如多重继承),请确保它适合编程语言,即程序员的语言。另一方面,如果您试图传达高级概念,您可以完全摆脱术语多重继承,并以您想要的任何方式绘制非 UML 图。我的建议是将概念与实现细节完全分开,因为根据我的经验,这将不可避免地导致混乱。尝试在两者之间进行翻译,但不要混用。
此外,当您为团队使用的编程语言不支持多重继承这一事实而背负他们时,您将不会受到团队的喜爱。只需与他们一起寻找合适的功能解决方案即可。你可能不得不妥协,但这就是生活。
多重继承本质上并不是坏事。来自 C++ 背景,但现在偶尔使用 Java 工作很多,我希望 Java 能够支持多重继承。但这种情况非常罕见,这就是为什么你应该小心地认为多重继承是实现目标的唯一正确方法。
于 2013-06-29T17:16:53.223 回答