Command Pattern 커멘드 패턴
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Command Pattern GoF 정의 요청 자체를 캡슐화하는 것 이를 통해 요청이 서로 다른 사용자를 매개변수로 만들고, 요청을 대기시키거나 로깅하며, 되돌릴 수 있는 연산을 지원한다. 명령 패턴은 메서드 호출을 실체화, 즉 객체...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Command Pattern GoF 정의 요청 자체를 캡슐화하는 것 이를 통해 요청이 서로 다른 사용자를 매개변수로 만들고, 요청을 대기시키거나 로깅하며, 되돌릴 수 있는 연산을 지원한다. 명령 패턴은 메서드 호출을 실체화, 즉 객체...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Adapter Pattern 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환한다. Adapter Pattern을 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다. ‘...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Observer Pattern 정의 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 연락이 가고 자동으로 내용이 갱신되는 방식으로, 일대다 (one-to-many) 의존성을 정의한다. Subject Object의 상태 (변수, …)...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. State Pattern 강의 영상에선 슈퍼 마리오와 같은 플랫포머 게임의 캐릭터 조작을 구현하는 상황을 예시로 들었다. Update() 안에서 사용자의 입력을 받아, 입력에 맞는 동작을 구현한다. (점프, 엎드리기, 엎드려서 기모으기, 이...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Builder Pattern Bulider Pattern 은 복잡한 유형의 오브젝트를 작성하는 데 사용된다. 객체를 생성할 때 그 객체를 구성하는 일부분들을 먼저 생성하고, 이들을 조합함으로써 객체 전체를 생성한다. 생성할 객체의 ...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Object Pool Pattern 재사용 가능한 객체들을 모아놓은 객체 풀 클래스를 정의한다. 여기에 들어가는 객체는 현재 자신이 ‘사용 중’인지 여부를 알 수 있는 방법을 제공해야 한다. 풀은 초기화될 때 사용할 객체들을 미리 생성하고...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Flyweight Pattern 먼저 여러 그루의 나무들을 배치한다고 생각해보자. 이렇게 배치된 나무마다 하나의 객체로 판단하고 각각의 나무들을 모두 메모리에 인스턴싱할 수 있겠다. 그런데 만약 이렇게 한다면? 어차피 나무들의 메시, ...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Prototype Pattern UML Prototype을 상속받아 clone() 메소드를 구현하는 ConcretePrototype으로 구성되어 있음. 원형을 하나 가지고 있고, 원형의 Prototype을 상속받아 clone() 메소...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Abstract Factory Pattern 정의 추상 팩토리 패턴 (Abstract Factory Pattern) 은 팩토리 메서드 패턴 (Factory Method Pattern) 과 매우 유사하나, 팩토리 메서드 패턴은 클래스들이 객체...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Factory Method Pattern 정의 팩토리 메서드 패턴 (Fatory Method Pattern) 은 객체를 생성하기 위한 인터페이스를 정의한다. 서브 클래스에서 어떤 클래스를 만들지를 결정하게 함으로써 객체 생성을 캡슐화한다....