2010년 12월 2일 목요일

프로그래밍 패턴.

요즘 새삼 프로그래밍 패턴이 필수적으로 자리잡았다는 것을 느낄 수 있습니다.
최근에 사용했던 두 게임엔진도 공통적인 프로그래밍 패턴들을 살펴 볼 수 있어서 간단히 적어봅니다.

1. 컴포넌트/엔티티/이벤트 패턴을 이용하여 툴과 엔진이 교류하게됩니다.
    엔티티는 대략 컴포턴트들로 이루어져 있고, 컴포넌트 다시 프로퍼티와 함수(Behavior)로 이루어져있습니다.
    그리고 C# 툴에서 프로퍼티 그리드를 이용하여 작업하도록 되어있습니다.

2.  자체 RTTI 와 STL 그리고 스트링 시스템을 가지고 있습니다.
     이 부분은 콘솔에서 이점이 있지 않나 싶습니다.PC 에서만이라면 속도나 편리성 대신에 범용성이나 편리함을 제법 잃어버리는 거 같기도 합니다. 최근에 EA STL 이 공개되었으니 이부분도 좀 살펴보고 싶긴 하네요. 그래도 그냥 표준적으로 사용하는 STL 이 마음은 편한 거 같습니다. (이제 별로 쓸일이 없어서 잊어버리고 있습니다만, BOOST C++ 0x 니 하는 것들도 나오는데 말입니다--+)

3. 오브젝트들은 항상 자식 노드를 가지고 있을 수 있습니다. 꼬리에 꼬리를 무는 노드 구조입니다. 이걸 무슨패턴이라고 하던데요--기억이;;