0

data layerから完全に分離したいUI Layer。これが私の例です。同じレポートに異なるデータを必要とする顧客がいて、UIに触れたくないので、とのData Layer間に何か「もの」が必要だと思います。基本的に、は「thing」を呼び出し、その「thing」はを呼び出し、次にはユーザーに基づいてデータを取得して「thing」に返し、「thing」はデータをに返します。Data LayerUIUIData layerdata layerUI

この「モノ」がどうあるべきかわからない?

オブジェクトマッパーを使用して、モデルのようにいくつかの用語が渡されるのを聞いたことがありますが、これらが関連しているかどうかはわかりません。

4

2 に答える 2

1

あなたが探しているパターンは MVC - Model-Controller-View です。必要な「もの」はコントローラーです。通常、コードは次のように編成されます

  • レポートを取得するためにコントローラーが呼び出されます
  • データレイヤー(またはモデル)にアクセスし、データが取り込まれたオブジェクトを取得します(厳密に型指定されたオブジェクトまたは単なるマップの場合があります)
  • コントローラーはビューを呼び出し、それにデータオブジェクトを渡し、レンダリングされた結果を取得します
  • コントローラーは、レンダリングされた結果をクライアントに返します。

始めるにはこれで十分です。

ウィキペディアの MVC パターン

于 2012-10-05T13:35:48.040 に答える
0

あなたは共通のアーキテクチャについて話している: UI --> ビジネス ロジック層 (BLL) --> データ アクセス層 (DLL)。これで、BLL と DAL を .exe に含めることができます (質問に WinForms のタグを付けました)、またはサービス レイヤー/層の一部にすることができます。これは非常に一般的です。

一般に、各レイヤー (BLL および DLL) を定義するインターフェイスを用意することをお勧めします。これにより、(一般に) コンシューマーに影響を与えることなくレイヤーの実装を変更でき、懸念事項を分離でき、テストが容易になります。

BLL にはロジックが含まれ、DAL はデータソースを管理します。通常、DALがBLLを介して返すオブジェクトを参照するモデルについて言及します。Person モデルまたは Order モデルと考えてください。あなたのタグは Winforms であるため、MVP パターンを調査することをお勧めします。

于 2012-10-05T13:50:36.103 に答える