반응형
행위패턴
행위 패턴(Behavioral Patterns)은 객체 간의 책임 분배와 상호작용을 관리하는 데 중점을 둔다.
종류
커맨드 패턴 (Command Pattern)
개요: 커맨드 패턴은 요청을 객체로 캡슐화하여, 요청을 큐에 넣거나 로깅하거나 작업 취소를 가능하게 한다. 이 패턴은 명령을 실행할 책임이 있는 객체와 명령을 발행하는 객체를 분리한다.
Unity 예시: 게임에서 플레이어가 특정 행동을 취했을 때(예: 공격, 점프) 그 행동을 커맨드 객체로 캡슐화할 수 있다. 이를 통해 행동을 큐에 저장하거나 기록할 수 있고, 행동 취소(undo)나 재실행(redo)을 쉽게 구현할 수 있다.
구성 요소:
- 커맨드 (Command): 행동을 정의하는 인터페이스
- ConcreteCommand: 커맨드 인터페이스를 구현하여 실제 행동을 정의
- Invoker: 커맨드를 호출하는 객체
- Receiver: 명령이 실제로 수행되는 객체
스트래티지 패턴 (Strategy Pattern)
개요: 스트래티지 패턴은 알고리즘을 캡슐화하여 독립적으로 교체할 수 있게 한다. 알고리즘의 변동에 따라 클라이언트가 이를 쉽게 변경할 수 있도록 한다.
Unity 예시: 적 AI의 행동 패턴이 바뀌는 경우, 서로 다른 전략(공격, 방어, 패트롤 등)을 정의하고 상황에 따라 적절한 전략을 선택할 수 있다.
구성 요소:
- Context: 알고리즘을 사용하는 클라이언트 객체
- Strategy: 알고리즘을 정의하는 인터페이스
- ConcreteStrategy: 알고리즘을 구현하는 클래스
옵저버 패턴 (Observer Pattern)
개요: 옵저버 패턴은 객체가 변화에 대해 자동으로 알림을 받고 업데이트 되는 방식이다. 주로 데이터의 변화에 따른 반응을 구현할 때 사용된다.
Unity 예시: 게임에서 플레이어의 체력이 변화할 때 UI를 업데이트하거나, 게임 오버 상태를 반영하기 위해 옵저버 패턴을 사용할 수 있다.
구성 요소:
- Subject: 상태를 변경하고 옵저버들에게 알림을 보내는 객체
- Observer: Subject의 상태 변화를 통지받는 객체
템플릿 메소드 패턴 (Template Method Pattern)
개요: 템플릿 메소드 패턴은 알고리즘의 구조를 정의하고, 알고리즘의 특정 단계를 서브클래스에서 구현할 수 있게 한다.
Unity 예시: 게임에서 특정 단계(예: 적 등장, 레벨 클리어)를 위한 공통 절차를 정의하고, 각 레벨에 따라 세부 구현만 다르게 할 수 있다.
구성 요소:
- AbstractClass: 알고리즘의 구조를 정의하는 클래스
- ConcreteClass: 알고리즘의 특정 단계를 구현하는 클래스
반응형
'Record > TIL' 카테고리의 다른 글
[Unity] 최종프로젝트 "Where's My Doll?" 유저테스트 부탁드립니다! (4) | 2024.08.12 |
---|---|
[Unity] 캐릭터 컨트롤러(Character Controller) (0) | 2024.08.10 |
[Unity] 유니티 TMPro 하나의 폰트로 머티리얼 여러개 만들어서 적용하기 (4) | 2024.08.07 |
[Unity] 마우스 커서, 마우스 포인터 변경 (0) | 2024.08.06 |
[Unity] 유니티 해상도 드롭박스로 조절하기 (0) | 2024.08.05 |