web-dev-qa-db-ja.com

ドメインのコアライブラリグラフィックツールキットの構造を使用する必要がありますか?

Java(および他の多くのプログラミング言語)では、多くの場合、グラフィック要素を処理するための構造があります:色、形状など。これらはほとんどの場合UIツールキットに含まれているため、比較的強い結合があります。 UI要素付き。

現在、私のアプリケーションのドメインでは、要素の統計情報を表示するために、色や形状などを扱うことがよくあります。今のところ、それを使って行うのは、ほとんどまたはまったく動作せずにそれらの要素を表示/保存することだけです。 「車輪の再発明」を避けてJava.awt.*の構造を直接使用するのは理にかなっていますか、それとも独自の要素を作成してこのツールキットへの結合を避ける必要がありますか?それらの要素がすぐになくなるわけではありませんが(結局のところ、これらはコアJavaライブラリの一部です))、同時にJava.awt.*サーバー側をインポートするのは奇妙に感じます。どこでもJava.util.Listを使用しても問題ありませんが、これらのクラスについて違うと感じる必要がありますか?

その場合の「推奨」プラクティスは何でしょうか?

ここでYAGNIを適用し、標準ライブラリの構造を使用します。ただしこのようなものを使用するドメインのすべての部分が、システム内で可能な限り近くなるように注意します。これにより、これらの構造の上にデコレータが必要になった場合に備えて、後で交換の使用法を探すのは簡単になります。

これらの構造の要件が決して変更されないことが絶対に確実でない限り、これらの構造がコードベース全体に広がることは望ましくありません(ヒント:これまでに作成したすべてのコードの要件は常に変更されます)。また、Java標準実装に依存するクライアント側の部分でコードを使用することが唯一の目的である場合は、それらをプリミティブとして安全に扱うことができると思います。

1
Jimmy Hoffa

あなたがそれを持続しない限り。構造を保持するRDBMSスキーマを作成したら、アプローチを再考する必要があります。

1
Chris McCall