2012-03-27 11 views
0

私はWCFで単純なメッセージングシステムを作成しており、MessageRepositoryという最小リポジトリを実装しています。サービス層とリポジトリ層の結合

それは次のようである契約IMessageRepositoryを実装します。

using System; 
using Violet.Model.Entities; 

namespace Violet.Model.Abstract 
{ 
    public interface IMessageRepository 
    { 
     void DeliverMessage(string message_from, string message_to, string message_text); 
    } 
} 

は今、私はデータベースと対話するか[ServiceContract]を飾るためにモデル層を起動する個別のサービス層IServiceを実施するか否かの混乱していますIMessageRepository自体の属性を[OperationContract]に設定して、アプリケーションのレイヤーを最小限に抑えます。

時間の経過とともにアプリケーションが成長すると考えている方が良いアプローチはだと思いますか?

答えて

2

一般的に、データアクセスレイヤーをサービス経由で直接公開することはお勧めできません。実際のサービスを作成し、単にリポジトリを使用することで、それらを個別に柔軟に変更することができます。

一般に、Single Responsibility Principle

関連する問題