2011-01-17 7 views
0

私はLLBLGen ProとSpring.Netをこのasp.netプロジェクトで使用して、サービスレイヤーを使用してビジネスロジックをデータストアから切り離すことを考えています。私はUIレイヤーでPONOSを使用することを検討しています。私の質問は次のとおりです:ASP.NET、LLBLGen、Spring.Net with Service Layer

データレイヤーまたはサービスレイヤーの豊富なLLBLGenエンティティオブジェクトをPonosにマップする必要がありますか?私がデータレイヤーでそれを行うと、サービスレイヤーの豊富な機能がすべて失われます。または、PonosへのマッピングをスキップしてLLBLGenエンティティを使用する必要がありますか?後でそれを正しくテストすることは難しいでしょうか?

誰かが私に両方のアプローチの長所と短所を教えてもらえますか?

おかげ

答えて

3

マッピングされていないLLBLGenエンティティを使用することの利点は、あなたが非常に使用可能なを持つことができますので、あなたは、エンティティは、データベーススキーマから右に発生した(あるいはLLBL 3.xでは無データベーススキーマで)取得することですエンティティモデルを数分で作成できます。欠点は、エンティティがLLBLフレームワーククラスを継承しているため、ビヘイビア/ビジネスロジックを強化するのが難しくなります。あなたが一般的にサービスのセットとしてあなたのビジネスロジックを設計する場合、これは問題を提起しません。

このシナリオでは、エンティティを一般的に「貧血」データオブジェクトと見なしているため、このようなオブジェクトを模擬しているわけではありません(このような理由はありません)。

POCOへのマッピングのメリットは、ドメイン/エンティティ/ DTOオブジェクトの設計を完全に制御できることと、豊かなものや貧困のものがあることです。欠点は、POCOクラスとマッピングを設計してコーディングする必要があり、LLBLエンティティに組み込まれている変更トラッキングのような機能を失うことです。

私は個人的には私が非常に正当な理由がない限り、生成されたエンティティオブジェクトを使用することを選択します。