본문 바로가기

유니티 디자인패턴4

[unity] 디자인 패턴 : 싱글톤 패턴(Singleton Pattern) Unity와 C#을 통한 싱글톤 패턴(Singleton Pattern)의 정의와 사용 방법에 대해 알아보자. 1. 싱글톤 패턴(Singleton Pattern)이란? 싱글톤 패턴(Singleton Pattern)은 클래스 인스턴스를 하나만 만들고, 그 인스턴스로의 전역 접근을 제공하는 디자인 패턴을 말한다. 싱글톤 패턴은 클래스에서 하나뿐인 인스턴스를 관리하도록 만들어야 되며, 다른 어떤 클래스에서도 자신의 인스턴스를 추가로 만들지 못하게 해야 한다. 혹여나 인스턴스가 필요하다면 반드시 클래스 자신을 거치도록 해야 한다. 유니티에서는 주로 Awake() 함수에서 인스턴스를 할당하고, Destroy() 함수에서 인스턴스를 해제해준다. 싱글톤 객체는 그 인스턴스에 접근할 수 있도록 전역 접근자를 제공해야 한.. unity3d/DesignPattern 2022. 6. 23.
[Unity] 디자인 패턴 : 데코레이터 패턴(Decorator Pattern) Unity와 C#을 통한 데코레이터 패턴(Decorator Pattern)의 정의와 사용 방법에 대해 알아보자. 1. 데코레이터 패턴(Decorator Pattern)이란? 데코레이터 패턴(Decorator Pattern)은 객체에 추가 요소를 동적으로 더할 수 있는 디자인 패턴이다. 개발 확장에 있어 base 클래스 밑에 서브 클래스를 만들어 확장시키는 방법을 주로 사용하는데 데코레이터를 사용하면 서브 클래스를 만들어 확장할 때보다 더 확장성 있게 구현할 수 있다. 데코레이터 패턴을 이해하기 위해서는 디자인 원칙 중 OCP(Open-Closed Principle) 원칙에 대해 알고있으면 좋다. OCP 원칙 : 클래스는 확장에는 열려 있어야 하지만 변경에는 닫혀 있어야 한다. 데코레이터 패턴은 이런 OC.. unity3d/DesignPattern 2022. 6. 21.
[Unity] 디자인 패턴 : 옵저버 패턴(Observer Pattern) Unity와 C#을 통한 옵저버 패턴(Observer Pattern)의 정의와 사용 방법에 대해 알아보자. 1. 옵저버 패턴(Observer Pattern)이란? 옵저버 패턴(Observer Pattern)은 한 객체(주제)의 상태가 바뀌면 그 객체에 의존하는 다른 객체(옵저버들)에게 메시지를 전달하고 옵저버들은 각자의 내용을 갱신할 수 있는 디자인 패턴으로 일대다(one-to-many) 의존성을 가진다. 옵저버 패턴의 핵심은 '느슨한 결합'이다. 결합이긴 하지만 강한 결합이 아닌 느슨하게 결합되어, 연결을 해지하기 유용하다. 느슨한 결합을 사용하면 객체 사이의 상호 의존성을 최소화할 수 있기 때문에 유연한 객체지향 시스템을 구축할 수 있다. 옵저버 패턴은 요즘 구독 서비스 같은 개념으로 이해하면 편하다.. unity3d/DesignPattern 2022. 6. 17.
[Unity] 디자인 패턴 : 전략 패턴(Strategy Pattern) Unity와 C#을 통한 전략 패턴(Strategy Pattern) 사용 방법에 대해 알아보자. 1. 전략 패턴이란? 행동을 정의하고 캡슐화해서 각각의 행동이 추가될 때 유연하고 독립적으로 변경하여 사용할 수 있게 도와주는 패턴 특정 상황에 따라 행동을 바꾸고 싶을 때 적용하면 유용한 패턴 ex) 캐릭터가 전투 상황에 따라 무기를 교체할 때 2. 사용 예제 - 문제 상황 필자가 좋아하는 자동차로 상황을 만들어 보겠다. 자동차 회사들의 자동차를 시뮬레이션하는 프로그램을 제작한다고 가정해보자. H사의 - HCar 자동차 모델이 있고, T회사의 TCar 자동차 모델이 있다. 모든 자동차는 Display() : 자동차 외관을 보여주는 함수, Move() : 자동차가 굴러가면서 움직이는 함수 두 가지 함수를 가지.. unity3d/DesignPattern 2022. 6. 16.