저는 애플리케이션에 대한 플러그인 지원을 제공하는 다양한 방법을 모색하고 있습니다. 이상적으로, 필자는 핵심 기능을 생성하고 가져 오기, 데이터 내보내기 등과 같은 다양한 플러그인/애드온을 개발하는 다른 고객을 기반으로 할 것입니다. 플러그인 아키텍처를 통해 확장 가능한 C# 응용 프로그램을 제작하는 데 사용할 수있는 몇 가지 방법은 무엇입니까?C에서 동적 플러그인 기반 기능을 개발하는 방법
사례를 구성하십시오. 우리가 메인 메뉴 (File, Edit, View 등)와 함께 제조사별로 그룹화 된 여러 브랜드의 자동차를 표시하는 TreeView (Ford, GM, 현재)로 구성된 프로그램이 있다면. 자동차를 마우스 오른쪽 버튼으로 클릭하면 상황에 맞는 메뉴가 '자동차 삭제'라는 유일한 옵션으로 표시됩니다.
한 고객이 TreeView에서 새로운 브랜드를 볼 수있게 해주는 플러그인을 배포 할 수 있도록 응용 프로그램을 개발하면 혼다 (Honda)와 자동차 컨텍스트 메뉴가 확장되어 이제는 '자동차 칠해'?
Eclipse/RCP 개발에서이 기능은 확장 점과 플러그인으로 쉽게 처리됩니다. C#이 어떻게 처리합니까? 나는 내 자신의 플러그인 아키텍처를 개발하고 MEF를 읽으려고했다.
로딩 어셈블리, catelogs 및 컨테이너의 사용을 보여주는 MEF 동영상을 많이 보았습니다. 그러나 MEF가 메인 메뉴 또는 컨텍스트 메뉴를 수정하는 플러그인을 배포하는 방법을 아직 완전히 이해하지 못했습니다. 주어진 통제. 나는 비디오가 묘사하는 것으로부터의 최종 점프를 놓치고 있고, 플러그인 i의 선물에 대한 응답에 내 애플리케이션을 허용하고 있다고 생각한다. 예를 들어 주 메뉴에 새 메뉴 버튼을 추가합니다. – Matthew
MVVM (http://msdn.microsoft.com/en-us/magazine/dd419663.aspx)을 사용하면 알아낼 수 있어야합니다. 이렇게하면 Menus 및 MenuItems를 기본 (플러그 가능) 객체 모델에 바인딩 할 수 있습니다. –