ビジネスルールをasp.net mvcアプリケーションに組み込む方法と、それらがモデルにどのように関連するかについて、いくつかのガイダンスを探しています。ASP.NET MVCモデルとビジネスオブジェクト
最初に少しの背景がありますので、この質問に対してどのような解決策が相対的であるかを知っています。職場では、WinForms、MVP、BusinessObjects、DataAccessObjects、およびDataTransferObjectsを使用します。レイヤーの境界はDTOを使用して、メソッドに戻り値の型を渡したり、List型を返します。
現時点では、PresentationLayerでDTOを使用する方法が現時点でどのように機能しているのかを建築家が気に入らないため、DTOをドメインオブジェクトに変換するためのファサードレイヤを追加しています。私はそれが実用的であるか否かを除いて、理論的にはこのすべてについて快適です。
私は楽しいためにウェブサイトを作っていますが、考慮すると、それはSOと同じ量のトラフィックを提供すると言います。最後に聞いた月に60,000ヒットのようなものです。コントローラとビューの仕組み、そしてモデルが2つのモデルとどのように統合されているか、私は快適です。
私はサイト構築のサンプルとしてNerdDinnerを使用しており、例のリポジトリパターン実装に従っています。私が得られないことは、ビジネスオブジェクトをミックスに組み込む方法です。
DataAccessLayer/DataAccessObjectsとしてLINQについて話しています。私がビジネスオブジェクトを介して私の要求のすべてを強制すると、私は奇妙な依存関係を導入しています。私のUIと私のBOは私のDAOについて知っていなければなりません。
LINQクラスを真のDAOレイヤーとして使用し、BOの背後に隠して、BOをPOCOとLINQオブジェクトの間で変換することは意味があります。
私の唯一の懸念は、私のUIをLINQクラスにバインドしても問題ありません。本当にすべての余分な作業が必要なわけではありません。NerdDinnerのような軽量なアプローチに満足しています。
私が本質的に持つのは、LINQオブジェクトを受け取り、返すコントローラでインスタンス化されるリポジトリです。私のビジネスオブジェクトには、LINQクラスをとり、何らかの計算を実行する静的メソッドがあります。たとえば、特定の州税tax%またはw/eを適用します。
これらの計算はリポジトリの結果全体で行う必要があるため、ファサードレイヤーのような1つの中央領域にそれらを組み合わせることを考えていますが、データを変換して他のものには変換しないオブジェクトセット(DomainObjects < - > DTO)。
私はそれを行うべきですか、それらのビジネスメソッドが実際に私のモデルの一部であり、それらをオブジェクトを返すリポジトリメソッドに入れるべきだと言いますか?
答えをありがとう。私の主な関心事は、PresentationLayerとServiceLayerの両方がDataAccessLayerを参照する必要があるということです。また、私はビジネスオブジェクトやPresentationLayerの検証から離れ、代わりに自分のモデルで直接行っています。これは私が好きな方向です。 – blu
しかし私は答えが好きです+1 – blu