7

Visual Studio C#.NETソリューションで次のような設定があります。

プロジェクト1 -TrainDisplay-列車の到着を表示するWinFormsアプリケーション。

プロジェクト2 -TrainFetcher-は、列車に関するデータをフェッチするための再利用可能なクラスライブラリです。

プロジェクト3 -TrainsDataModelはデータモデルであり、Train.cs、TrainRoute.csなどの他のすべてのプロジェクトに共通のクラスが含まれています。

それぞれに次の参照があります。

プロジェクト1:参考文献2および3

プロジェクト2:参考文献3

このように参照を使用するのは悪いことですか。つまり、プロジェクト1はプロジェクト3への2つの参照で終わりますか。1つは直接、もう1つはプロジェクト2経由ですか?

4

1 に答える 1

5

それ自体は間違っていません。コンパイラは正しいことを行います。

しかし、それはそれほど素晴らしいデザインではないことを示している可能性があります.

2 が 3 のみに依存し、1 が 2 のみに依存するように、3 つのレイヤーを設計するようにしてください。

編集:最後の文は明確ではありませんでした。つまり、「ビジネス オブジェクトがデータ アクセス コードのみを参照する必要があり、UI がビジネス オブジェクトのみを処理するように、3 つのレイヤーを設計する」ということです。

最終的に、それを行う正しい方法は、実際にはアーキテクチャに依存します (ORM の使用と手動でのクエリの発行、Active Record と Mapper など)。

于 2012-06-25T08:20:01.257 に答える