2009-04-27 3 views
2

저는 자바 초보자입니다. 여기 누군가가 자바에서 마틴 파울러의 플러그인 패턴을 구현하는 방법을 설명 할 수 있다면 감사하겠습니다.자바 플러그인 패턴

미리 감사드립니다.

답변

10

간단히 수행 할 작업에 대한 인터페이스를 정의하고 해당 인터페이스를 구현하는 런타임에 개체를 전달하십시오. 예를 들어 로컬 공유 메모리와 원격 TCP/IP를 통해 통신 할 수 있습니다. 인터페이스를 구축하고 send()recv()이있는 IConnection이라고하고 LocalConnectionLongDistanceConnection의 두 클래스로 구현합니다.

그런 다음 다른 클래스와 통신해야합니다 (예 : TelephoneCall).

, 당신은 당신이

TelephoneCall call = new TelephoneCall(new LongDistanceConnection()); 

할 생성자의 서명은,

TelephoneCall call = new TelephoneCall(new LocalConnection()); 

는 장거리 전화를 걸려면 어떻게 로컬 전화를 걸려면

public TelephoneCall(IConnection connect); 
+0

@Charlie 마틴, 고마워. –

+1

도와 드리겠습니다. 당신이 떠날 때 대기 직원을 팁. –

+0

이것은 패턴에 대한 의도에 답하지 않는 것 같습니다. 컴파일하는 대신 클래스를 링크합니다. 같은 예제가 let 's를 사용하여 구현되었으므로 Spring DI가 그렇게 할 것이라고 말합니다. – topchef