싱글톤 패턴
1. 생성 패턴 (Creational Patterns)
객체 생성과 관련된 패턴으로, 객체 생성 과정의 유연성을 높이고, 효율적으로 관리할 수 있도록 도와줌.
- 싱글톤 (Singleton) : 하나의 클래스에 대해 단 하나의 인스턴스만 생성되도록 보장하는 패턴
- 팩토리 메서드 (Factory Method) : 객체 생성을 서브클래스에서 결정하도록 하는 패턴
- 추상 팩토리 (Abstract Factory) : 관련 객체 그룹을 생성할 때 사용하는 패턴
- 빌더 (Builder) : 복잡한 객체 생성을 단계별로 진행하는 패턴
- 프로토타입 (Prototype) : 기존 객체를 복제하여 새로운 객체를 생성하는 패턴
2. 구조 패턴 (Structural Patterns)
클래스나 객체 간의 관계를 조직화하여 유연성과 확장성을 높이는 패턴.
- 어댑터 (Adapter) : 서로 다른 인터페이스를 가진 클래스들을 연결하는 패턴
- 브리지 (Bridge) : 구현과 추상화를 분리하여 독립적으로 확장할 수 있도록 하는 패턴
- 컴포지트 (Composite) : 객체를 트리 구조로 구성하여 계층적인 구조를 만들고, 단일 객체와 복합 객체를 동일하게 다룰 수 있도록 하는 패턴
- 데코레이터 (Decorator) : 기존 객체의 기능을 확장할 때 상속 대신 동적으로 추가하는 패턴
- 퍼사드 (Facade) : 복잡한 시스템을 단순한 인터페이스로 감싸는 패턴
- 플라이웨이트 (Flyweight) : 다수의 객체를 공유하여 메모리를 절약하는 패턴
- 프록시 (Proxy) : 실제 객체 대신 대리 객체를 사용하여 접근을 제어하는 패턴