2009-03-03 3 views
1

플러그인 프레임 워크 개발자로서, 플러그인이 구현해야하는 인터페이스 myNameSpace.IPlugin을 지정하려고합니다. 인터페이스 멤버 인 IPlugin.GetWidget() 중 하나의 반환 값은 System.Windows.Forms.Control에서 파생 된 형식이어야하며 myNameSpace.IFoo 인터페이스도 구현해야합니다. 또한 플러그인 개발자가 IPlugin.GetWidget()의 타사 컨트롤 (이미 System.Windows.Forms.Control 하위 항목)을 반환 할 수있게하려고합니다. 이 요구 사항을 문서화하지 않고 명확하게 지정하는 가장 좋은 방법은 무엇입니까 :). 플러그인 개발자는 이러한 요구 사항을 충족하기 위해 제 3 자 컨트롤을 사용하여 플러그인을 설계하는 방법에 대해 어떻게 생각합니까?GUI 프레임 워크 플러그인 디자인

+1

태그가 질문 제목 인 방법을 좋아합니다 ... –

답변

1

디자인에 약간의 냄새가납니다. 위젯이 반드시 구체적인 클래스에서 상속 받아야하고 관련없는 다른 인터페이스를 구현해야하는 이유는 무엇입니까? 네가 조금 상속받은 것 같아. 행복해. 대신 그,이 시도 :

interface IPlugin 
{ 
    IWidget Widget { get; } 
} 

interface IWidget 
{ 
    System.Windows.Forms.Control Control { get; } 
    IFoo Foo { get; } 
} 

여부 IFoo 정말 구현까지해야 컨트롤 자체 나 다른 클래스에 의해 구현된다. 귀하의 코드는 신경 쓰지 않아야합니다.

관련 문제