2009-11-11 4 views
0

MVC 기본 응용 프로그램을 만들고 있습니다. 이전에는 항상 Cairngorm을 Flex 어플리케이션의 프레임 워크로 사용했습니다. 이 응용 프로그램에서는 다른 프레임 워크 (pureMVC 또는 Mate)가 아닌 mvc에 대한 다른 접근 방식을 실험하고 있지만 내 자신의 MVC 기본 응용 프로그램을 작성하고 있습니다.은 싱글 톤으로 모델을 생성하여 뷰 사이의 모드에서 데이터를 공유하는 유일한 방법입니다.

제 질문은 Cairngorm입니다. 저는 항상 싱글 톤으로 모델을 만들었지 만, 모델의 데이터를 뷰로 전달하고 어떤 방법으로 싱글 톤을 사용하지 않을 수 있습니까?

모델을 뷰에 삽입 할 생각이 있었습니까? 아니면 모델을 통해 데이터를 포함하는 이벤트를 컨트롤러를 통해 뷰로 보내는 다른 방법이 있습니까?

감사

스티븐

답변

0

데이터를 공개 속성으로 선언합니다. 사용자의 제스처 (gesture)를 기반으로 View의 데이터를 업데이트해야하기 때문에 생성자 인수 만 사용하면 매우 유연하지 않으며 MXML 기반 뷰에서는 문제가 될 수 있습니다.

그런 다음 상위 뷰에서 바인딩 표현식을 사용하여 데이터를 제공하거나 Swiz 또는 Mate와 같은 IoC 프레임 워크를 사용하여 데이터를 삽입 할 수 있습니다. 이전 방법의 단점은 부모 뷰에 많은 공용 속성을 넣는 것 뿐이므로 데이터를 자식 뷰에 "릴레이"할 수 있다는 것입니다. IoC의 장점은 각 뷰가 실제로 사용하는 속성 만 추가 할 수 있고 실제로 필요한 위치에만 데이터를 삽입 할 수 있다는 것입니다.

3

는 개인적으로, 나는이 상황에 대처하는 가장 쉬운 방법은 (생성자, 또는 다른 메커니즘을 통해)보기에 직접 모델을 주입하는 것입니다 생각합니다.

간단하면서도 효과적입니다.

+0

사실, 또는 spring.actionscript와 같은 Ioc 컨테이너를 사용하십시오. 또한 단순하기 때문에 싱글 톤을 사용하지만, 모범 사례는 아닙니다. –

+0

MXML 기반 뷰에 모델 클래스를 삽입하는 방법은 무엇입니까? 공용 속성 사용? – StephenAdams

+0

속성을 사용하여 (선택 사항 인) 생성자 args를 사용합니다. 또는 PureMVC는 뷰의 모든 업데이트를 처리하는 외부 Mediator 클래스를 사용합니다. –