싱글턴 패턴(Singleton Pattern)
특정 클래스의 인스턴스가 오직 하나임을 보장하고 이 인스턴스에 대한 전역 접근 방법을 제공
자주 호출되는 객체를 new로 매번 새로 만드는 것보다 싱글톤으로 만들어 전역 접근이 가능하게 해 접근하면 메모리를 절약할 수 있다. GameManager 같이 게임을 전체적으로 관리하는 스크립트를 싱글톤으로 만들면 편리하다.
하지만 단점도 존재하는데 클래스들 사이의 의존성이 높아져 싱글턴 인스턴스가 수정되면 참조하는 다른 클래스들도 수정해야 할 수도 있다. 때문에 유지보수가 힘들어 질수도 있다.
간단하게 싱글톤 패턴을 구현해봤다.
이렇게 다른 클래스에서 참조할 수 있다.
팩토리 패턴(Factory Pattern)
팩토리 패턴은 심플 팩토리 패턴, 팩토리 메소드 패턴, 추상 팩토리 패턴이 있다.
- 심플 팩토리 패턴 : 객체생성을 별도의 클래스로 분리하여 구현한다.
- 팩토리 메소드 패턴 : 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될것인지 서브 클래스가 결정하게 구현
- 추상 팩토리 패턴 : 구체적인 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적으로 구현한다.
팩토리 패턴으로 여러 종류의 자식 오브젝트를 함수 하나로 쉽게 생성할 수 있다. 유지보수가 쉽다.
https://unity.com/kr/how-to/how-use-factory-pattern-object-creation-runtime
런타임에 객체 생성에 팩토리 패턴을 사용하는 방법
Unity 프로젝트에서 일반적인 게임 프로그래밍 디자인 패턴을 구현하면 깔끔하고 체계적이며 가독성 높은 코드베이스를 효율적으로 빌드하고 유지 관리할 수 있습니다.
unity.com
팩토리 메소드 패턴을 구현해 보겠다.
Animal 클래스를 상속 받은 Dog 클래스와 Cat 클래스를 만들었다.
그리고 동물들을 생성할 CreateAnimal 클래스를 만들고 이를 상속받은 팩토리 매서드 패턴 클래스들을 각각 만들었다.
조금 더 공부하면서 코드를 다듬어 봐야겠다. 추상 팩토리 패턴은 다음에 구현해봐야겠다.
'unity' 카테고리의 다른 글
유니티 생명주기 (0) | 2024.07.28 |
---|---|
Dictionary (0) | 2024.07.27 |
코루틴(Coroutine) (0) | 2024.07.24 |
Object Pooling (0) | 2024.07.22 |
Garbage Collection, GC (0) | 2024.07.19 |