GEMS 3권 객체 조합식 프레임워크 분석 (2)

GEMS 2016. 2. 5. 20:21

in Wikipedia

Forward Declaration

Declaration of a variable or function which are not defined yet. Their definition can be seen later on.

Forward Reference

Similar to Forward Declaration but where the variable or function appears first the definition is also in place.


그냥 차이점 정도 알아두자


System_t 클래스 : 게임이 사용할 시스템들에 대한 순수 인터페이스들로의 포인터들을 담는다. 순수 인터페이스들을 통해서 시스템에 접근하므로 동적인 시스템 전환이 가능하며 플랫폼 의존적인 시스템 코드가 시스템들에 접근하는 플랫폼 독립적 코드로부터 분리된다.

시스템 코드에 Systems_t 클래스를 포함시켜도 컴파일러 의존성은 생기지 않는다. 포인터를 통한 시스템으로의 접근에 필요한 것은 전방 참조(Forward reference)뿐이기 때문이다.

물리적 의존성을 줄이는 것은 좋은 물리적 설계를 위한 주요 목표 중 하나이다.


*이러한 시스템들은 모두 순수 인터페이스로 정의되며 구체적인 구현은 모두 은폐되어 있으므로, 시스템 구현들이 정적인 링크 의존성을 가지지 않는 한 이들을 동적으로 전환하는 것이 가능하다.  의존적인 구현들을 동적으로 로드 가능한 구성요소들로 분할하는 것은 패키지 패턴의 한 예이다.


TaskSys_t 클래스는 작업 시스템에 대한 인터페이스를 제공한다.

작업 시스템에 작업을 추가할 때에는 Post_TaskCommand 함수를 이용한다.

작업의 종류는 프레임에 동기화 되는 작업 아니면 비동기 작업이다.

작업이 가지고 있는 Systems_t 포인터는 작업이 자신의 Connect (Sysyems_t *pSysyems) 함수를 통해서 시스템에 연결될 때 전달 받은 것이다.


..일단 내가 생각했던 프레임워크가 아닌거 같으므로 분석은 나중에 해야겠다;

posted by 알쿠미