2012-03-27 4 views
0

나는 WCF에서 간단한 메시징 시스템을 만들고 MessageRepository이라는 최소 저장소를 구현했습니다.서비스 및 저장소 계층 결합

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] 속성을 IMessageRepository 자체에 적용하여 응용 프로그램의 레이어를 최소화합니다.

시간이 지남에 따라 응용 프로그램이 성장할 것이라고 생각하는 것이 더 나은 접근 방법이라고 생각합니까?

답변

2

일반적으로 데이터 액세스 레이어를 서비스를 통해 직접 노출하는 것은 좋지 않습니다. 실제 서비스를 만들고 단순히 저장소를 사용하면 독립적으로 변경할 수 있습니다.

일반적으로 Single Responsibility Principle