2

ビジネス ドメインのモデリングでは、クラスの多重継承によってモデルがよりクリーンでシンプルになるという状況に何度も遭遇しました。私のプロジェクトの主要言語となるJavaを含むほとんどのプログラミング言語では、多重継承がサポートされていません。ただし、インターフェイスを介して実装できます。多重継承を使用して UML のドメインをモデル化し、概念を説明し、それをどのように実装するかを実装者に任せることは、良い、または少なくとも受け入れられる考えですか? それとも、長所よりも短所の方が多いですか?

4

1 に答える 1

2

複数の継承を使用して UML のドメインをモデル化し、概念を説明し、それをどのように実装するかを実装者に任せることは、良い、または少なくとも受け入れられる考えですか?

一方では、UML モデリング (実際のコードを表す必要があります) を行い、多重継承などのソフトウェア エンジニアリングの概念について話す場合は、それがプログラマーの言語であるプログラミング言語に適合していることを確認してください。一方、高レベルの概念を伝えようとしている場合は、多重継承という用語を完全に除外して、UML 以外の図を好きなように描くことができます。私のアドバイスは、概念を実装の詳細から完全に分離することです。私の経験では、これは必然的に混乱につながるからです。2 つの間で翻訳を試みますが、混同しないでください。

さらに、チームが使用するプログラミング言語が多重継承をサポートしていないという事実をチームに押し付けると、チームから愛されなくなります。彼らと協力して、適切に機能する解決策を見つけてください。妥協しなければならないかもしれませんが、それが人生です。

多重継承は本質的に悪いものではありません。C++ のバックグラウンドを持っていますが、最近 Java をよく使用しているので、Java が多重継承をサポートすることを望みます。しかし、そのようなケースは非常にまれであるため、目的を達成するための唯一の適切な方法は多重継承であると考えるように注意する必要があります。

于 2013-06-29T17:16:53.223 に答える