개요
생성 패턴은 객체 지향 디자인을 위한 패턴들의 한 분류입니다. 이 패턴들은 객체의 생성을 추상화하고, 시스템이 객체를 생성, 조합, 표현하는 방법을 제공합니다. 이러한 패턴을 사용하면 객체 생성의 유연성을 높이고, 코드의 재사용성을 개선할 수 있습니다.
graph LR A((Client)) --> B((Creator)) B --> C(Factoy Method) B --> D(Abstract Factory) B --> E(Builder) B --> F(Singleton) B --> G(Prototype) D --> DA((AbstractProduct1)) D --> DB((AbstractProduct2)) C --> CA((Product1)) C --> CB((Product2)) E --> EA((Product)) F --> FA((SingletonInstance)) G --> GA((Clone)) CA --> DA CB --> DA EA --> DA FA --> DA GA --> DA
Mermaid
복사
팩토리 메서드 패턴
팩토리 메서드 패턴은 객체 생성을 처리하기 위한 추상화된 인터페이스를 제공합니다. 이 인터페이스는 하위 클래스에서 구현되는 메서드를 정의하며, 이를 통해 객체를 생성합니다. 이 패턴을 사용하면 객체 생성 과정을 캡슐화하고, 유연성과 확장성을 개선할 수 있습니다.
추상 팩토리 패턴
추상 팩토리 패턴은 관련된 객체들의 집합을 생성하기 위한 인터페이스를 제공합니다. 이 인터페이스를 구현하는 클래스들은 서로 다른 구현을 가지며, 이를 통해 서로 다른 객체들의 생성을 지원합니다. 이 패턴을 사용하면 객체 간의 의존성을 낮추고, 유연성을 높일 수 있습니다.
빌더 패턴
빌더 패턴은 복잡한 객체 생성 과정을 단순화하고, 객체 생성 과정의 단계별 세부 정보를 캡슐화합니다. 이를 통해 객체 생성 과정의 유연성을 높이고, 코드의 가독성을 개선할 수 있습니다.
싱글톤 패턴
싱글톤 패턴은 객체의 인스턴스가 하나만 생성되도록 보장합니다. 이를 통해 전역적인 객체 인스턴스를 관리하고, 객체의 상태를 유지할 수 있습니다. 이 패턴을 사용하면 객체의 생성과 소멸에 대한 제어를 강화하고, 메모리 절약 효과를 얻을 수 있습니다.
프로토타입 패턴
프로토타입 패턴은 객체 생성 과정을 단순화하기 위해, 객체의 복제를 통해 새로운 객체를 생성합니다. 이를 통해 객체 생성 과정에서의 시간과 자원을 절약할 수 있습니다. 이 패턴을 사용하면 객체 생성 과정을 캡슐화하고, 유연성을 높일 수 있습니다.
패턴 이름 | 설명 |
객체 생성을 처리하기 위한 추상화된 인터페이스를 제공 | |
관련된 객체들의 집합을 생성하기 위한 인터페이스를 제공 | |
빌더 패턴 | 복잡한 객체 생성 과정을 단순화하고, 객체 생성 과정의 단계별 세부 정보를 캡슐화 |
싱글톤 패턴 | 객체의 인스턴스가 하나만 생성되도록 보장 |
프로토타입 패턴 | 객체의 복제를 통해 새로운 객체를 생성 |