나는이 문제에 대해 전문가로서 생각하지 않는다. 그러나 나는이 무언가가 사용되기를 바란다. 이것은 내 자신의 경험을 바탕으로합니다.
데이터 액세스 레이어 (DAL)를 두 가지 구현하면됩니다.
비즈니스 계층과 DAL간에 단일 일반 인터페이스를 정의하십시오.
데이터베이스와 통신하는 DAL 구현을 하나 만듭니다.
웹 서비스와 통신하는 DAL 구현을 하나 만듭니다.
두 가지 모두 비즈니스 인터페이스 (BL)에서 현재 어떤 DAL이 사용되고 있는지 알 필요가없는 일반 인터페이스를 구현합니다. 분명히 응용 프로그램과 DAL 중 하나 사이의 연결을 처리하는 데 필요한 특수 논리가 있습니다. 이것은 DAL과 BL 사이의 특수 층 또는 교차 절단 층 (예 : 통신 층)에 상주 할 수 있습니다.
구현을 위해 인터페이스를 구현하는 것이 더 실용적 일 수 있습니다. 이 경우 인터페이스에 덜 구현을 적용해야 할 것입니다. 느슨하게 결합 된 하위 레이어의 실제 구현을 유지하면서 이렇게하려면 어댑터 패턴을 사용합니다.
추가 고려 사항 : DAL 구현을 재사용하고 싶습니다. 본질적으로 API는 자체적으로 API가됩니다. 이 경우 상대적으로 비 공용 공용 인터페이스로 디자인 할 수 있습니다. 이제 DAL은 소비자 (응용 프로그램)에 대한 인터페이스를 지시합니다 (반대의 경우도 마찬가지 임).
그 외에도 직선적 인 레이어 및 추상화입니다. 다음은 애플리케이션 아키텍처에 대한 Microsoft의 발행물입니다 (방금 읽었습니다). http://msdn.microsoft.com/en-us/library/ff650706.aspx
대단히 감사합니다. 이것은 올바른 방향으로 나를 가리켰다! –
대단히 반갑습니다. :) –