본문 바로가기

Documents/Startup

Vulcan Project 구조

Introduction

Vulcan Project의 소스코드는 Application 제작의 기반이 되는 framework 패키지와 framework 패키지를 지원하는 컴포넌트 형태의 나머지 소스 코드로 구분할 수 있습니다.

실제로 Vulcan Project를 확장하여 Application을 제작할 때 framework 패키지의 클래스를 확장해서 만들게 되고 나머지는 Component의 API형태로 사용하게 됩니다. 따라서 framework 패키지의 내용만 이해하면 Vulcan Project를 충분히 활용할 수 있으리라 생각됩니다. 사실 PureMVC빼면 별 내용도 없습니다.

PureMVC 컨셉

Framework 패키지는 pureMVC를 기반으로 작성되었으므로 pureMVC를 사용해 보셨다면 이미 절반 이상은 Vulcan Project에 대해 이해하고 있다고 바도 무방합니다. 그만큼 Vulcan Project에서 구조상 새로 추가된 작업이 적다는 걸 뜻합니다.

pureMVC에 대해서는 이미 많은 문서들이 지원되고 있으므로 (Document - pdf) 여기에서는 pureMVC framework에 대해 이미 알고있다는 가정하에 설명 하겠습니다. 다음은 pureMVC framework의 기본 컨셉을 나타낸 다이어그램입니다.


PureMVC 확장

Procedure 계층

Vulcan Projet에서 달라진 점은 Command에서 직접 명령을 처리하지 않고 각 command에 대응하는 procedure 객체에 위임하여 처리하도록 하였습니다. 하위 클래스에서 비지니스 로직을 확장시키기 쉽도록 하고 command에서는 프로세스 관리에만 관여하도록 하였습니다.

MVC Builder 유틸

Vulcan Project는 PureMVC MultiCore 버전을 사용합니다. 즉 Vulcan Projcet 내부에서도 얼마든지 개발 단위를 쪼개어 독립적인 MVC 패턴을 사용할 수 있다는 말입니다.

BuilderBase 클래스는 바로 이런점을 지원하기 위해 만들어 졌습니다. 하나의 오브젝트에 MVC 패턴을 적용할 수 있도록 구조를 빌드 해주는 역할을 합니다. 예를 들면 Graphic Editor와 같은 툴에서는 전체 Application객체, 각 Document객체, 각 Graphic 객체마다 각각의 MVC 구조를 구성하여 개발하는것이 훨씬 쉽습니다. 이때 유용하게 사용되겠죠.


코딩상 사소한 변화가 몇가지 있지만 차차 설명하기로 하고, 구조는 너무 간단해서 별로 쓸말이 없네요. 나머지 부분은 Docking System을 비롯한 컴폰넌트들과 라이브러리에 대한 코드들이라 구조에 별 관련성 없는 코드들 입니다. 이런 부분들은 예제를 통해 확인하는 편이 좋을 것 같습니다.

'Documents > Startup' 카테고리의 다른 글

NAME, NAME_TYPE 속성을 이용한 인스턴스 찾기  (4) 2010.10.29
Vulcan Project 초기화 과정  (0) 2010.10.25
PureMVC Framework 수정사항  (4) 2010.10.16