Search

생성 패턴

개요

생성 패턴은 객체 지향 디자인을 위한 패턴들의 한 분류입니다. 이 패턴들은 객체의 생성을 추상화하고, 시스템이 객체를 생성, 조합, 표현하는 방법을 제공합니다. 이러한 패턴을 사용하면 객체 생성의 유연성을 높이고, 코드의 재사용성을 개선할 수 있습니다.
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
복사

팩토리 메서드 패턴

팩토리 메서드 패턴은 객체 생성을 처리하기 위한 추상화된 인터페이스를 제공합니다. 이 인터페이스는 하위 클래스에서 구현되는 메서드를 정의하며, 이를 통해 객체를 생성합니다. 이 패턴을 사용하면 객체 생성 과정을 캡슐화하고, 유연성과 확장성을 개선할 수 있습니다.

추상 팩토리 패턴

추상 팩토리 패턴은 관련된 객체들의 집합을 생성하기 위한 인터페이스를 제공합니다. 이 인터페이스를 구현하는 클래스들은 서로 다른 구현을 가지며, 이를 통해 서로 다른 객체들의 생성을 지원합니다. 이 패턴을 사용하면 객체 간의 의존성을 낮추고, 유연성을 높일 수 있습니다.

빌더 패턴

빌더 패턴은 복잡한 객체 생성 과정을 단순화하고, 객체 생성 과정의 단계별 세부 정보를 캡슐화합니다. 이를 통해 객체 생성 과정의 유연성을 높이고, 코드의 가독성을 개선할 수 있습니다.

싱글톤 패턴

싱글톤 패턴은 객체의 인스턴스가 하나만 생성되도록 보장합니다. 이를 통해 전역적인 객체 인스턴스를 관리하고, 객체의 상태를 유지할 수 있습니다. 이 패턴을 사용하면 객체의 생성과 소멸에 대한 제어를 강화하고, 메모리 절약 효과를 얻을 수 있습니다.

프로토타입 패턴

프로토타입 패턴은 객체 생성 과정을 단순화하기 위해, 객체의 복제를 통해 새로운 객체를 생성합니다. 이를 통해 객체 생성 과정에서의 시간과 자원을 절약할 수 있습니다. 이 패턴을 사용하면 객체 생성 과정을 캡슐화하고, 유연성을 높일 수 있습니다.
패턴 이름
설명
객체 생성을 처리하기 위한 추상화된 인터페이스를 제공
관련된 객체들의 집합을 생성하기 위한 인터페이스를 제공
빌더 패턴
복잡한 객체 생성 과정을 단순화하고, 객체 생성 과정의 단계별 세부 정보를 캡슐화
싱글톤 패턴
객체의 인스턴스가 하나만 생성되도록 보장
프로토타입 패턴
객체의 복제를 통해 새로운 객체를 생성