학습(구)/JSP

디자인 패턴 - 생성 패턴

잉아당 2020. 11. 16. 20:59
728x90

디자인 패턴 : 설계에서 자주 접하는 문제들을 해결해주는 문제 해결 답안으로 증명된 해법을 체계적으로 정리한 설계 기법입니다.

 

# 생성 패턴 : 객체의 생성방식을 결정하는 패턴입니다. 생성 패턴에는 추상팩토리, 빌더, 프로토타입, 싱글톤, 펙토리 메서드 등이 있습니다.

 

- 팩토리 패턴 : 대부분의 객체 생성 패턴으로써 클라이언트가 객체를 생성할 때 'new 생성자 호출'을 사용하여 객체를 생성하지 않고 공장 객체에게 객체 생성을 의뢰하여 객체를 생성하는 패턴입니다. 이 패턴은 객체 생성과 관련한 작업으로부터 클라이언트를 독립시켜 객체를 생성하는 부분과 객체를 사용하는 부분을 구분합니다.

1) 추상 팩토리 패턴 : 상세화된 서브 클래스를 정의하지 않고 서로 관련성이 있거나 의존하는 객체들에 대해 객체 군을 생성하기 위해 인터페이스를 공장객체게 제공하는 디자인 패턴입니다.

2) 팩토리 메소드 패턴 : 객체를 생성할 때 객체를 만드는 방법은 상위 클래스에서 결정하고 객체 생성의 세부 내용은 하위 클래스에서 결정하는 패턴입니다.

 

- 빌더 패턴 : 객체 생성을 위해 객체 생성을 수행하는 별도의 빌더 객체를 사용하는 패턴입니다. 빌더 패턴은 공장 객체를 빌더 객체를 사용하여 구축한 후 이를 사용하여 필요한 객체를 생성합니다. 객체 속성 설정 부분과 객체 생성 부분으로 분리하여 처리합니다. 이때 객체 속성 설정은 fluent API를 사용하는데 속성 설정 메소드가 반환하는 값이 객체 참조 값이어서 객체 참조를 위한 별도의 행위는 수행하지 않습니다.

 

- 프로토타입 패턴 : 원형이 되는 인스턴스를 사용하여 생성할 객체의 종류를 명시하고 이러한 객체를 복사하여 새로운 객체를 생성하는 방법입니다.

 

- 싱글톤 패턴 : 클래스에 대해 오직 1개의 인스턴스만을 갖도록 보장하고 이에 대한 접근 방법을 제공하는 패턴입니다.