(빌 로퍼는 스타크레프트, 워크레프트, 디아블로 등을 개발한 스타 개발자이다.)
어려운 환경을 이겨내고 성공하는 스토리는 언제나 재밌다.
'book' 카테고리의 다른 글
| 빌 로퍼 (0) | 2012/03/12 |
|---|---|
| Begginning Android Games-안드로이드 게임 개발서 (0) | 2011/06/24 |
| 3D in Flash 도착 (4) | 2010/07/12 |
| 켄트 벡의 구현패턴 (0) | 2010/06/26 |
(빌 로퍼는 스타크레프트, 워크레프트, 디아블로 등을 개발한 스타 개발자이다.)
어려운 환경을 이겨내고 성공하는 스토리는 언제나 재밌다.
| 빌 로퍼 (0) | 2012/03/12 |
|---|---|
| Begginning Android Games-안드로이드 게임 개발서 (0) | 2011/06/24 |
| 3D in Flash 도착 (4) | 2010/07/12 |
| 켄트 벡의 구현패턴 (0) | 2010/06/26 |
저는 같은 카테고리에 속하는 다양한 Device들의 인터페이스를 일반화 하고 생성 함수를 만들어서 클라이언트 코드가 특정 구현객체에 의존하지 않을 수 있도록 하기 위해 Factory Pattern을 사용합니다. 주로 사용성은 아래와 같습니다.
1: //Radiometer 카테고리의 디바이스.
2:
3: DevRadiometer* radiometer = DevRadiometerCreator::Instance().Create( “K6485” );
4:
5: DevRadiometer* radiometerEmul = DevRadiometerCreator:Instance().Create( “emulator” );
6:
7:
8:
9: //Thermometer 카테고리의 디바이스.
10:
11: DevThermometer* thermometer = DevThermometerCreator::Instance().Create( “pk2000” );
12:
13: DevThermometer* themometerEmul = DevThermometerCreator::Instance().Create( “emulator” );
14:
위와 같이 Device 종류 별로 Factory 클래스를 만들어서 사용을 해 왔었는데요. 각각의 Factory 클래스 마다 반환하는 특정 클래스를 제외하면 구현 내용은 중복이 되었습니다. 이러한 중복을 제거하기 위해서 Template을 사용하여 Factory 자체를 일반화 하는 것을 구상해 보았습니다. 사용성은 아래와 같습니다.
1: DevRadiometer* radiometer = Factory<DevRadiometer>::Instance().Create( “K6480” );
2:
3: DevRadiometer* radiometerEmul = Factory<DevRadiometer>::Instance().Create( “emulator” );
4:
5:
6:
7: DevThermometer* thermometer = Factory<DevThermometer>::Instance().Create( “pk2000” );
8:
9: DevThermometer* thermometerEmul = Factory<DevThermometer>::Instance().Create( “emulator” );
10:
| C++ Template을 활용한 FactoryPattern 일반화 하기 (0) | 2011/12/26 |
|---|---|
| Visual C++ / OpenGL 개발 환경 설정 (0) | 2010/01/18 |
이곳에 가시면 Verlet Inegration의 구현에 대해 매우 상세히 설명되어 있는 글을 보실 수 있습니다. 설명되어 있는 예제가 html5의 Canvas를 이용하였기 때문에, 크롬 브라우저나 파이어폭스 혹은 익스 9 버전으로 확인 하셔야 합니다.
위의 예제는 Verlet Integration을 이용하여 구현해본 것입니다. 전에 Euler Integration을 사용하여 비슷한걸 구현해 본적이 있는데요. Verlet Integration을 이용하면 놀라울 정도로 간단히 구현할 수 있습니다.
| Verlet Integration - 게임에 어울리는 객체 운동 시뮬레이션 (0) | 2011/06/27 |
|---|---|
| 3D 농구게임 - 플래시 (2) | 2010/10/20 |
| 유머나라에 올라간 예전에 만들었던 플래시 (2) | 2010/07/23 |
| Actionscript 3 - 읽기쉬운 프로그래밍 하기 (2) | 2010/07/08 |