Game Develop/Design Pattern(12)
-
Observer Pattern(관찰자 패턴)
관찰자 패턴은 GoF의 세가지 패턴 중 행위 패턴에 속한다. 행위 패턴은 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴이다. 관찰자 패턴의 특징은 다음과 같다.- 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달- 일대다의 의존성을 정의- 주로 분산된 시스템 간에 이벤트를 생성 or 발행하고, 이를 수신해야 할 때 이용 MVC 구조를 쓰는 프로그램은 무척이나 많다. 그리고 MVC 기반에는 관찰자 패턴이 있다. 그러다 보니 자바에서는 아예 핵심 라이브러리(java.util.Observer)에 들어가 있고, C#에서는 event 키워드로 지원한다.그만큼 관찰자 패턴은 GoF 패턴 중에서도 가장 널리 사용되고 잘 알려져있다. 자 이제 예시로 관..
2024.06.05 -
Flyweight Pattern(경량 패턴)
경량 패턴은 GoF의 세가지 패턴 중 구조 패턴에 속한다. 구조 패턴은 클래스나 객체들을 조합하여 더 큰 구조로 만드는 패턴이다. 경량 패턴의 특징은 다음과 같다.- 인스턴스가 필요할 때마다 매번 생성하는 것이 아니고 가능한 공유해서 사용함으로써 메모리를 절약함- 다수의 유사 객체를 생성하거나 조작할 때 유용하게 사용할 수 있음 굽이굽이 뻗어 있는 숲을 글로는 몇 문장으로 표현할 수 있지만, 실시간 게임으로 구현하는 것은 전혀 다른 얘기다.아마 그래픽스 프로그래머는 1초에 60번씩 GPU에 전달해야 하는 몇 백만 개의 폴리곤을 볼것이다. 나무마다 필요한 데이터는 다음과 같다.- 줄기, 가지, 잎의 형태를 나타내는 폴리곤 메시- 나무 껍질과 잎사귀 텍스처- 숲에서의 위치와 방향- 각각의 나무가 다르게 보이..
2024.06.04