생성패턴
소프트웨어 공학에서 생성패턴은 상황에 맞는 방식으로 객체를 생성하는 매커니즘을 다룬다.
객체생성의 기본형태는 디자인 문제나 디자인의 복잡도를 증가시키는 결과를 초래할 수 있다.
생성패턴은 객체생성을 컨트롤함으로써 그런 문제들을 풀어낸다.
생성패턴은 두가지의 주요 아이디어로 구성되어 있다.
하나는 시스템이 사용하는 구체적인 클래스에 관한 지식을 캡슐화 하는 것이다.
다른 하나는 이러한 구체적인 클래스의 인스턴스들이 생성되고 결합되는지를 숨기는 것이다.
생성패턴을 더 분류하면 객체생성패턴과 클래스생성패턴으로 분류할 수 있으며,
객체생성패턴은 객체생성의 일부를 다른 객체에게 연기(postphone)하는 것인 반면에
클래스생성 패턴은 객체생성을 하위클래스에게 연기(postphone)하는 것이다.

생성패턴에서 가장 잘 알려진 5가지 패턴은 다음과 같다.
추상 팩토리 (Abstract factory)
추상 팩토리 패턴은 객체의 구체적인 클래스를 지정하지 않고서도 관련된 객체를 생성하기 위한 인터페이스를 제공한다.
빌더 (Builder)
빌더 패턴은 복잡한 오브젝트들의 구성을 표현과 분리시켜서 같은 구성절차가 다른 표현을 만들 수 있게 한다.
팩토리 메서드 (Factory method)
팩토리메서드 패턴은 클래스에게 인스턴스 생성을 하위클래스로 연기할 수있게 해준다.
지연된 초기화 Lazy initialization
프로토타입 (Prototype)
프로토타입 패턴은 특정종류의 객체에게 프로토타입 인스턴스를 만들 수있게 지정해주며, 새로운 객체를 그 프로토타입을 복사하여 만들 수있게 한다.
싱글톤 (Singelton)
싱글톤패턴은 클래스가 오직 한개의 인스턴스만을 가지는것을 보장하며, 이것에 접근할 수있는 글로벌포인트를 제공한다.
의존성 주입 Dependency Injection
멀티턴 Multiton
객체 풀 Object pool
Resource acquisition is initialization(관용구)
정의
생성패턴들은 시스템으로부터 어떻게 객체들이 생성되고, 구성되고, 나타나는지를 분리하는것을 목표로 한다.
어떻게, 언제, 누가, 어떤 객체를 생성하느냐 라는 측면에서 생성패턴들은 시스템의 유연성을 증가시킨다.
'IT > Design Patterns' 카테고리의 다른 글
[Design Pattern] 빌더 (Builder) (0) | 2021.08.07 |
---|---|
[Design Pattern] 추상 팩토리 (Abstract factory) (0) | 2021.07.25 |
[Design Pattern] 행동 패턴 (Behavioral pattern) (0) | 2021.07.18 |
[Design Pattern] 구조패턴(Structural pattern) (0) | 2021.07.18 |
디자인패턴(Design Patterns) (0) | 2021.06.26 |