what-is-cairngorm

작성 자:     귀뚜라미
시간:     5. 6 월 2008 15: 09
참고 문서: 
Cairngorm Microarchitecture for Adobe Flex
cairngormdocs
Cairngorm 이 뭐 예요?
Cairngorm (중국어 이름: "담배 수정"?) 은 경량급 Flex RIA 프로그램 개발 프레임 워 크 로 프로그램의 확장 성, 유지 가능성 을 크게 향상 시 켰 다. 그 자체 가 완전한 기업 응용 이 아니 라 개발 구 조 를 제공 할 뿐 Adobe 는 시스템 이 라 고 부른다.
Cairngorm 흐름 도
Cairngorm 시스템
주로 다음 과 같은 몇 가지 부분 을 포함한다.
1、VO(Value Object)
IValue Object 와 Value Object 는 VO 류 의 가 독성 을 높이 기 위해 서 일 뿐 이 종 류 는 Value Object 류 이 고 다른 것 은 실제 적 인 역할 을 하지 않 는 다 는 것 을 나타 낸다.그것 은 미래 를 위해 설 계 된 것 일 수 있 으 며, 우 리 는 응용 과정 에서 어떠한 인터페이스 함수 도 실현 할 필요 가 없다.
2、Model
ModelLocator 인 터 페 이 스 를 정의 합 니 다. 우 리 는 이 인 터 페 이 스 를 실현 하고 바 인 딩 이 필요 한 데 이 터 를 여기에 저장 해 야 합 니 다.일반적으로 우 리 는 하나의 예 모드 (Singleton Pattern) 를 사용 하여 이 루어 지고 프로젝트 모듈 에 따라 분류 하여 전체 프로젝트 의 모든 데 이 터 를 하나의 파일 에 저장 하지 않도록 합 니 다.모델 로 케 이 터 는 전체 시스템 의 데이터 센터 라 는 얘 기다.
3、View
ViewHelper. as 와 ViewLocator. as 가 있 으 며, Cairngorm 2.2.1 버 전에 서 폐지 되 었 습 니 다.
4、Commands
ICommand 인 터 페 이 스 를 정 의 했 습 니 다. 이 인 터 페 이 스 는 유일 하 게 실현 해 야 할 방법 execute () 를 정 의 했 습 니 다. 이것 은 전형 적 인 명령 모델 입 니 다. 우 리 는 이 인 터 페 이 스 를 실현 하기 만 하면 구체 적 인 실현 방식 에 관심 을 가 질 필요 가 없습니다.
5、Control
세 가지 기본 클래스: Cairngorm Event, Cairngorm Event Dispatcher 와 FrontController 를 포함 합 니 다.
(1)CairngormEvent:
flash. events. Event 를 계승 합 니 다. 데이터 구성원 을 포함 하여 매개 변수 데 이 터 를 전달 하 는 데 사 용 됩 니 다.
(2)CairngormEventDispatcher:
단일 모드 (Singleton Pattern) 를 사용 하여 사용자 가 시작 한 사용자 정의 동작 이 벤트 를 방송 합 니 다.
(3)FrontController:
제어 센터 에 해당 합 니 다. 여기에서 해 야 할 일 은 이벤트 (Cairngorm Event) 와 명령 (Command) 간 의 맵 관 계 를 등록 하 는 것 입 니 다.
멤버 commands (Dictionary 형식) 에서 다음 과 같은 방법 으로 등록 합 니 다.
addCommand( GetProductsEvent.EVENT_GET_PRODUCTS, GetProductsCommand );
앞으로 Cairngorm Event Dispatcher 에서 방 송 된 사건 은 우선 여기에서 찾 습 니 다. 해당 이벤트 에 대응 하 는 command 를 찾 으 면,
command 의 execute () 방법 을 실행 합 니 다.
FrontController 는 시스템 에서 예화 해 야 합 니 다. 구체 적 인 예화 방법 은 다음 과 같 습 니 다.

<mx:Application    xmlns:control="com.domain.projectname.control.ShopController">
...
<control:ShopController id="controller" />
...
</mx:Application>

6、Business
IServiceLocator 인터페이스:
HTTPService, WebSercice, RemoteObject 세 가지 RPC 서 비 스 를 제공 합 니 다.사용 시 필요 한 RPC 서 비 스 를 이 인터페이스 에 등록 하고,
mxml 형식 으로 단일 모드 (Singleton Pattern) 를 사용 하여 IServiceLocator 를 실현 합 니 다. 다음 과 같은 예 를 사용 하 십시오.

<cairngorm:ServiceLocator
 xmlns:mx="http://www.adobe.com/2006/mxml" 
 xmlns:cairngorm="http://www.adobe.com/2006/cairngorm">

 <mx:RemoteObject id="productService" destination="productServiceImpl" showBusyCursor="true">
 </mx:RemoteObject>

 <mx:RemoteObject id="creditCardService" destination="creditCardServiceImpl" showBusyCursor="true">
 </mx:RemoteObject>

 <mx:HTTPService id="XXXService" url="URL" showBusyCursor="true" useProxy="false" resultFormat="e4x">
 </mx:HTTPService>

</cairngorm:ServiceLocator>

시스템 에서 예화 해 야 합 니 다. 구체 적 인 예화 방법 은 다음 과 같 습 니 다.

<mx:Application  xmlns:business="com.adobe.cairngorm.samples.store.business.*">
 ...
 <business:Services id="services" />
 ...
</mx:Application>

어떤 Delegate 클래스 에서 사용 하 는 방법:

this.service = ServiceLocator.getInstance().getRemoteObject( "productService" );

그 후에 관련 함수 호출 을 할 수 있 습 니 다.
후기:
중국어 판 전자 책 을 발견 하고 다운로드 도 제공 합 니 다.
Cairngorm 기반 Flex 응용 프로그램 디자인. pdf (1.00 mb)

좋은 웹페이지 즐겨찾기