2009-03-26 2 views
2

우리는 모두 독립적으로 실행할 수 있지만 동일한 호스트 컨테이너 내에서 실행할 수있는 수많은 플러그인 응용 프로그램을 보유하고 있습니다. 사용자는 단일 호스트 컨테이너 또는 하나 이상의 플러그인을 사용하는 여러 호스트 컨테이너를 실행할 수 있습니다.플러그인 통합을위한 최상의 모델

우리는 사람들이 하나

  1. 매개 변수와 함께 때로는 다른 응용 프로그램을 "행동"또는 "명령"(다른
  2. 전송 한 플러그인에서 데이터를 전송하고자하는 "통합"사용 사례의 번호가

    1. 이 잘 K 유무 :)

    우리는 다음 몇 가지 옵션을 사용할 수 있습니다 모든 플러그인에 대해 알고 잘 정의 된 메시지를 게시하고 구독 할 수 있습니다 또는

  3. 삽입 다른에 하나의 DLL을 객체 및 통합을 만드는 또 다른

  4. 에서 한 플러그인의 API를 호출 컨테이너 수준에서 nown 이벤트 버스 공통된 통합 지점에 대해 알고있는 플러그인으로 각 개별 플러그인은 완전히 독립형이며 통합 플러그인은 통합에 대해 알고있는 유일한 것입니다. 이것은 우리가 별개의 의존 관계없이 각 개별 플러그인을 제공 할 수 있었기 때문입니다.

생각이나 다른 제안?

+0

더 자세한 내용이있는 경우 큰 소리로 들립니다. 두 개의 플러그인이 상호 작용하는 방법에 대한 몇 가지 예는 어떻습니까? –

답변

1

Smart Client Software Factory은 고려해야 할 또 다른 지침입니다. WinForms의 대부분은 새로운 WPF 릴리스 (완전히 다시 설계된 것)보다 약간 더 복잡합니다. 그러나 모듈 식 목표를 달성하기위한 아이디어도 제공됩니다. 링크와 문서는 모듈이 어떻게 분리되어 있는가를 다루는 훌륭한 작업이지만 공통 프레임 워크를 통해 데이터를 전달할 수 있습니다.

0

마이크로 소프트의 패턴과 관행을 고려하십시오. Composite Application Guidance for WPF and Silverlight. 그것이 정확히 필요한 것은 아니더라도 모듈간에 데이터를 공유하는 것과 같은 모듈성에 필요한 일부를 수행하기위한 몇 가지 방법을 배우는 것이 좋습니다.

2

Microsoft에서 현재 개발중인 새로운 Managed Extensibility Framework (MEF) 라이브러리를 살펴 보겠습니다. the Codeplex site을 참조하십시오. 나는 VS 2010을 올바르게 이해함에 따라이 프레임 워크를 사용하여 Visual Studio에서 확장 지점을 제공합니다.

관련 문제