나는 통제 할 수없는 클라이언트의 프레임 워크에로드 될 플래시 캠페인을 만들고 있습니다. 프레임 워크는 이미 로케일, 글꼴 및 사본과 같은 몇 가지 항목을로드하고 초기화시 이러한 항목을 내 swf에 전달합니다.PureMVC MultiCore 앱에서로드 된 모듈에 프록시를 전달 하시겠습니까?
내 swf (쉘이라고 부름)의 크기가 제한되어 있으므로 캠페인 별 프리 로더를 표시 한 다음 나머지 swf (캠페인이라고 부름)를로드합니다.
셸과 캠페인은 모두 PureMVC 모듈입니다. 셸은 몇 개의 프록시를 만들고 프레임 워크에서 전달 된 데이터 (로캘 상수, 글꼴 등)를 캠페인에로드하기 전에 채 웁니다.
캠페인을로드 할 때도 로케일과 글꼴 등이 필요하므로 제 질문은이 데이터를 쉘 모듈의 캠페인 모듈에 전달하는 가장 좋은 방법입니다.
나는 캠페인 모듈에 같은 프록시를 생성하고 캐시 할 것이다, 다시 데이터를로드, 그러나 이것은 분명히 갈 길을 잘못 느낌 수 있습니다.
나는 파이프 유틸리티의 사용에 대해 조사해 보았습니다. 그러나 이것은 통신이 단방향 일 것이고 캠페인 초기화 중에 한 번 발생하기 때문에 약간의 잔인한 것처럼 보입니다.
프록시 패턴을 캠페인 모듈의 init 메소드로 전달한 다음 캠페인 모듈 시작 명령에이 프록시를 등록하는 것이 디자인 패턴 관점에서 "확인"됩니까? 이 프록시는 알림 이름을 통해 내 셸 응용 프로그램 facade에 대한 참조를 가지고 있기 때문에 잘못되었습니다. 알림 이름을 두 모듈 모두 사용할 수있는 "NotificationConstants"클래스로 이동하면 괜찮습니까?
캠페인 모듈에 비슷한 프록시를 만들 수 있지만 이번에는 이전에 언급 된 init 메소드에 전달 된 이전 프록시의 데이터 객체로 채울 수 있습니까? 자연이
는
같은 종류의 데이터에 대해 서로 다른 프록시를 사용하는 것은 "자신을 반복하지 마십시오"라는 고전적인 규칙을 어기는 것 같아요. 그래서 나는 그 프록시를위한 "공유 된"패키지를 만들고, NotificationConstants 클래스 그렇게하면 쉘 및 캠페인 모듈 모두 공유 패키지에 대한 참조 만 갖게됩니다. 이 패키지에서는 프록시를 전달하는 적절한 방법을 제안 할 때 ICampaign 인터페이스도 추가합니다. – Sebastian
오, 방금 찾은 마지막 단락을 확인하십시오. 프록시가 내가 생각하는 프로젝트의 다른 클래스를 참조하면 안된다는 의미가됩니다. http://puremvc.org/content/view/93/188/ – Sebastian