디자인패턴 썸네일형 리스트형 디자인 패턴) 오브젝트 풀 패턴 Object Pool Pattern _ Unity C# https://github.com/PacktPublishing/Game-Development-Patterns-with-Unity-2021-Second-Edition/tree/main/Assets/Chapters/Chapter08/Optimizing with the Object Pool 프레임 속도를 유지하면서 CPU에 부담을 주지 않으려면, 자주 생성되는 요소를 위해 일부 메모리를 예약해두고, 반복 활용하는 것이 좋습니다.메모리에서 없애는 대신, 다시 사용할 수 있도록 Object Pool에 추가합니다. 새로운 인스턴스를 로드하는 초기의 초기화 비용이 들지 않을 수 있으며 다시 사용할 수 있는 엔티티를 파괴하지 않아 GC의 청소 주기를 낭비하지 않습니다.오브젝트 풀 패턴 이해하기queue 혹은 stac.. 더보기 디자인 패턴) 커맨드 패턴 Command Pattern _ Unity C# 캡슐화하는 매커니즘을 이용하여, ‘액션’을 수행하거나 상태변경을 트리거하는데 필요한 정보를 / ’액션’을 수행할 대상 객체와 분리합니다. 커맨드 패턴 이해하기위의 코드에서, InputHandler는 스페이스바를 누를 때, 정확히 어떤 액션을 취해야하는지 알지 못하게 해야합니다. public class InputHandler : MonoBehaviour{ [SerialzeField] private Controller _characterController; private Command _spaceButton; void Start() { _spaceButton = new JumpCommand(); } void Update() { if (Input.GetKeyDown("space") _spaceB.. 더보기 디자인 패턴) 이벤트 버스 패턴 Event Bus Pattern _ Unity C# 이벤트 버스객체가 구독하거나 게시할 수 있는, 특정한 전역 이벤트의 목록을 관리하는 중앙 허브 역할을 합니다. 아래의 예시에서는, 경주의 전체 상태 변경을 수신해야 하는 구성 요소에 특정 경주 이벤트를 브로드캐스트 합니다. 이해하기게시자 객체가 이벤트를 발생하게 하면, 구독자 객체들이 받 수 있는 신호를 보냅니다.(신호는 작업이 생겼다는 알림 형식)사용시기빠른 프로토타이핑 : 새로운 게임 매커니즘이나 기능을 빠르게 프로토타이핑할 때 사용합니다.프로덕션 코드 : 복잡한 이벤트 타입이나 구조체를 다루지 않아도 되는 경우에 사용합니다.버스 bus : (컴퓨터용어) 구성 요소 간 연결을 의미합니다. Publisher이벤트를 발행하는 역할을 합니다. 이벤트 버스에서 선언한 특정 종류의 이벤트를 구독자에게 게시할.. 더보기 디자인 패턴) 상태패턴 State Pattern _ Unity C# 상태패턴의 구조Context 클래스 Context 객체가 현재 상태를 유지하고, 상태에 따라 행동을 다르게 처리하는 역할을 합니다. 클라이언트가 객체의 내부 상태를 변경할 수 있도록 요청하는 인터페이스(IState)를 정의합니다. 또한 현재 상태에 대한 포인터(currentState : IState)를 보유합니다. Context의 내부 상태가 바뀜에 따라, 행동을 바꾸도록 할 수 있습니다.IState 인터페이스 구체적인(concrete) 상태클래스로 연결할 수 있도록 설정합니다.ConcreteState 클래스 IState 인터페이스를 구현하고, Context 오브젝트가 상태의 동작을 트리거하기 위해 호출하는 public method인 handle()을 노출합니다.클라이언트는 Context 객체를 활용해,.. 더보기 디자인 패턴) 싱글톤 Singleton _ Unity C# 이해하기싱글톤 패턴은 인스턴스 객체를 하나만 유지하도록 보장하는 디자인 패턴입니다.static 키워드를 사용합니다. 런타임 동안 메모리에 오직 하나의 인스턴스만 존재합니다.자신과 같은 유형의 개체 인스턴스를 발견하면 즉시 없애야합니다.주로 로깅, 설정 관리, 연결 풀 등 하나의 인스턴스만 필요하거나 하나로 충분한 경우에 사용됩니다.장점전역 접근: 전역 인스턴스이기에, 어떤 스크립트에서든지 동일한 리소스나 서비스로의 접근점을 만들 수 있습니다.상태 공유: 하나의 인스턴스를 여러 곳에서 사용함으로써 일관된 상태를 유지할 수 있습니다.단점싱글톤 객체는 전역 상태를 가지므로 단위 테스트에서 독립적인 테스트가 어려울 수 있습니다.전역 인스턴스라고 남용하는 잘못된 프로그래밍 습관이 생길 수 있습니다. 사용하는 경우.. 더보기 이전 1 다음