2012-02-16 4 views
1

제 질문이 일반적인 것이 아니기를 바랍니다.GWT/GIN/GUICE 기반의 프레임 워크 확장 성

gwt/gxt에 프레임 워크를 만들었습니다.이 프레임 워크는 개발자가 미리 정의 된 위젯 세트로 매우 빠른 웹 응용 프로그램을 만드는 데 도움이됩니다.

이제는 특정 고객과 매우 관련된 새로운 기능을 원하기 때문에 프레임 워크를 확장하기가 매우 어려웠습니다. 나는 서버 측에서 GIN과 GUICE를 사용하여 클라이언트 측에서 MVP 패턴을 사용하고 있습니다. 또한 확장해야하는 클라이언트 구성 요소는 해당 데이터를로드하기 위해 서버에 관련 서비스를 가지고 있습니다.

나는 새로운 guice 모듈을 만드는 것에 대해 이미 생각해 왔으며 기존의 것들을 "bind"(올바른 단어인지는 모른다)하지만 개발자는 완전한 모듈이나 서비스를 다시 작성해야한다.

누군가 이미 클라이언트와 서버 측에서 gwt를 사용하여 프레임 워크를 디자인 한 경험이 있습니까? 그렇다면 어떻게하면 고객 고유의 물건으로 확장 할 수있는 가능성을 내 프레임 워크에 제공 할 수 있습니까? 어쩌면 내가 사용할 수있는 멋진 패턴이있을 수 있습니다. 내가 이해한다면

덕분에 많은

+0

우리는 [mvp4g] (http://code.google.com/p/mvp4g/) 및 [gwt-dispatch] (http://code.google.com/p/gwt- 급파/) –

답변

0

바로 당신이 지금 가지고이 아이디어 비슷한 작업을 수행 할 수 있습니다, 질문. 당신의 프레임 워크에서

, 당신은 다음과 같이, 모든 모듈과 모듈을 제공 할 수있다 :

public class MyAPI { 
    public static List<Module> MODULES = Arrays.asList(new FooModule(), new BarModule(), new OtherModule()); 
    public static Module getMyAPIModule() { 
     return new AbstractModule() { 
      protected void configure() { 
        for(Module m : MODULES) install(m); 
      } 
     } 
    } 
} 

그런 다음 앱에, 당신은 인젝터 또는 서블릿 모듈을 만들 때, 당신은 할 수 있습니다 install(MyAPI.getMyAPIModule()); 그리고 작동 될 것입니다