본문 바로가기

디자인패턴15

[C#/Unity][디자인패턴] 팩토리 메서드 패턴(Factory Method Pattern) 1. 팩토리 메서드 패턴이란? - 생성하는 공장은 단 한 개만 존재, 하지만 자식 클래스에 의해 여러 방식들로 구현 가능! - 객체를 생성하는 방법을 해당 클래스를 상속 받은 클래스에서 명시하도록 하는 패턴 - 부모 클래스에서 객체들을 생성할 수 있는 인터페이스를 제공하지만, 자식 클래스들이 생설될 객체들의 유형을 변경할 수 있도록 하는 생성 패턴 - 클래스에서 객체를 생성하기 위해 일반적으로 생성자를 만들지만 팩토리 메서드 패턴을 사용하면 이런 행위를 위임받아서 실행함. 2. 팩토리 메서드 패턴을 사용하는 경우 1) 코드가 높은 수준의 유연성을 제공해야 할 경우 2) 프로그램의 뼈대를 만들 경우 3) 추후 확장이 필요할 수 있는 경우 3. 팩토리 메서드 패턴의 장점 1) 유지보수 용이 : 객체의 생성을.. 2023. 11. 9.
[C#/Unity][디자인패턴] 싱글톤 패턴(Singleton Pattern) 1. 싱글톤 패턴이란? - 런타임 동안 "단 하나의 인스턴스만을 생성"하는 패턴 - 싱글톤 패턴이 적용된 객체는 하나의 인스턴스만 생성할 수 있고, 다른 객체에서 싱글톤 객체의 인스턴스를 생성하려 할 경우, 기존에 생성된 인스턴스가 있다면 해당 인스턴스를 반환하는 형태로 사용됨. - 모든 데이터를 전역으로 관리하여 쉽게 접근할 수 있게 하는 것 - 객체의 메모리를 정적으로 할당하여 하나의 객체에만 접근하는 방법 2. 싱글톤 패턴을 사용하는 경우 1) 공통된 객체를 여러개 생성해서 사용해야 하는 경우 2) 인스턴스가 절대적으로 한 개만 존재해야 한다는 것을 명시하고 싶은 경우 3. 싱글톤 패턴의 장점 1) 편리성 : 최초로 생성된 객체 하나에만 접근하게 되므로 데이터를 접근하고 수정하는데 용이함. 2) 중.. 2023. 11. 8.
[개발더미][Unity] 모노 싱글톤 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Singleton : MonoBehaviour where T : MonoBehaviour { private static object lockObject = new object(); // 쓰레드 안전화에 사용 private static bool isQuit = false; // 프로그램이 종료되거나 이상이 있는 경우 판단 private static T instance = null; // 객체 public static T Instance { // 쓰레드 안전화(Thread-Safe) get { // lock블럭 : 한번에 한 쓰레드만 실행되도록 .. 2023. 7. 25.