슈퍼클래스에서 객체를 생성하기 위한 인터페이스를 제공하고 서브클래스가 생성될 객체의 유형을 변경할 수 있도록 하는 디자인 패턴이다. 일반적으로 슈퍼클래스에서 어떠한 비즈니스 로직이 존재하고, 그 로직을 수행하는 객체를 생성하는 것을 서브클래스에서 구현하는 형태이다.
구체적인 클래스를 지정하지 않고 관련 객체의 패밀리를 생성할 수 있는 생성 디자인 패턴입니다.가구 매장 시뮬레이터를 만들고 있다고 가정해보자. 고객의 요구사항은 어울리는 가구 제품군들을 받는 것이다. 동일한 패밀리의 다른 객체와 일치하도록 개별 가구 객체를 작성하는 방
복잡한 객체를 단계별로 구성할 수 있는 방안을 제시하는 디자인 패턴이다. 또한 해당 패턴을 통해 동일한 구성 코드를 사용하여 객체의 다양한 유형과 표현을 생성할 수 있다.많은 필드와 중첩 객체를 힘들게 단계별로 초기화해야 한다고 가정해보자. 이런 복잡한 코드는 또한 클
코드를 복사하려는 구체적인 클래스에 종속시키지 않고 기존 개체를 복사할 수 있는 패턴이다.객체가 있고 그 객체의 정확한 복사본을 만들고 싶다고 가정해보자. 먼저 동일한 클래스의 새 객체를 생성해야 한다. 그런 다음 원본 객체의 모든 필드를 살펴보고 해당 값을 새 객체에