2014-04-08 2 views
0

텍스트 메시징 게이트웨이 기능을 구현해야하는 .NET 웹 응용 프로그램이 있습니다. 타사 공급 업체를 사용하여 문자 메시지를 보내야합니다. 웹 응용 프로그램은 현재 각 국가별로 동일한 코드 기반 및 다른 web.config를 사용하여 여러 국가에 배포됩니다. 최고의 아키텍처 전략과 디자인 패턴이 다른 텍스트 메시징 게이트웨이 제공 업체를 지원하는 비즈니스 구성 요소를 만드는 데 사용하는 것입니다 무엇"Text Messaging"여러 공급 업체를 지원하는 .NET 구성 요소

/고려 공급 업체는 다음

  1. 각 나라가 이상적으로해야합니다 그 자체 텍스트 메시징 게이트웨이 공급 업체.
  2. 각 공급 업체는 고유 한 API 호출 방법을 제공합니다. 즉, 매개 변수, API 위치, 보안 등 ...
  3. 한 국가는 최소 오버 헤드 및 수정으로 언제든지 문자 메시지 게이트웨이 공급 업체를 변경할 수 있습니다.

고마워요!

답변

0

여기서 Strategy pattern을 사용하고 싶습니다.

public interface ITextMessageStrategy{ 
    void Send(TextMessage message) 
} 

다음과 같은 인터페이스를 만듭니다. 각 공급 업체에 대한 구체적인 구현이 있습니다. 각 공급 업체는 API에 대해 서로 다른 매개 변수를 사용한다고 언급했습니다. 이 작업을 수행하는 핵심은 벤더가 필요로하는 모든 데이터를 포함하는 객체 (예제에서는 TextMessage)를 전달하는 것입니다. 구성에 따라 국가가 사용할 구현의 전체 클래스 이름이 매핑됩니다. 그런 다음 리플렉션을 사용하여 적절한 텍스트 메시징 전략을 동적으로 인스턴스화합니다. 일부 TextMessageStrategy 구현을 사용하기 전에 생성자 매개 변수 나 다른 복잡한 설정이 필요한 경우에는 Factory method pattern을 함께 사용하는 것이 좋습니다. 이 두 패턴을 자주 함께 봅니다.

+0

이 패턴은 Microsoft 및 다른 사람들이 MembershipProviers, EntityProviders 등과 같은 "공급자"모델에 사용합니다. –

관련 문제