私はC#アプリケーションを作成しています.3層プログラミングアーキテクチャに従いたいと思います。私はthis articleに基づいてアプリケーションをプログラミングしています。ドメインオブジェクトを3層に配置する場所#winformsアプリケーション
は私が誰かが私を助けることを願っていくつかの質問があります:私は、例えば(私はゲッターとセッターとコンストラクタを入れPersonクラスを、ドメインオブジェクトを入れてやる
をし、
DAL層の関数を1つのコントローラに呼び出すBLL関数をすべて1つのコントローラに入れるか、またはそれらのうちの1つを分離するかを指定する必要があります(例:age、name、..)。すべての特定のビジネスクラス(例:人、注文、..)?
DAL関数を呼び出す前にすべてのBLL関数でDALオブジェクトを作成する必要がありますか、または一度に1つのDALクラスオブジェクトのみを作成するシングルトンパターンを使用しますか?
私のクラスのスクリーンショット(Program.csのはメインクラスである):
ほとんどのものと同様に、それは依存します。例えば、アプリケーションのサイズが大きくなると、 'Person'オブジェクトはレイヤーごとに大きく異なるようになります。ビューには、表示に必要なデータを保持する 'PersonViewModel'、ビジネスロジックに従って操作するためのBL内の' Person'エンティティ、およびおそらくは同じデータを表す 'PersonDTO'が存在する可能性があります。永続性のために最も有用です。 –
BLの 'Person'エンティティから始め、ビジネスロジックによる操作のためのものであることに留意してください。データをビューまたは永続目的で操作する必要がある場合は、それらの目的に固有の別々のオブジェクトを作成し、アプリケーション間で適切な方法でマッピングします。 –