본문 바로가기

Design Pattern

(3)
GoF 디자인 패턴 - 데코레이터 패턴 (Decorator Pattern) 1. 데코레이터 패턴이란?데코레이터 패턴은 객체에 추가적인 책임(기능)을 동적으로 부여할 수 있게 해주는 구조 패턴이다. 서브클래싱 없이도 기능을 확장할 수 있으며, 개방-폐쇄 원칙(OCP)을 잘 지킨 설계 방식이다.특징동적 기능 확장: 런타임에 객체의 기능을 유연하게 추가 가능OCP 준수: 기존 코드를 수정하지 않고도 기능을 확장조합성 증가: 다양한 데코레이터를 조합해 기능을 유연하게 구성 가능 2. 데코레이터 패턴의 구조Component (컴포넌트): 기본 인터페이스 또는 추상 클래스ConcreteComponent (구현체): 실제 기능을 수행하는 클래스Decorator (데코레이터): Component를 구현하고 자신 안에 Component 참조ConcreteDecorator (구체 데코레이터): ..
GoF 디자인 패턴 - 프로토타입 패턴 (Prototype Pattern) 1. 프로토타입 패턴이란?프로토타입 패턴은 생성 패턴 (Creational Patterns)의 하나로써 기존 객체를 복사하여 새로운 객체를 생성하는 생성 패턴이다. 객체를 일일이 생성하는 대신, 기존 객체를 복제(clone)하여 동일한 값과 상태를 가진 객체를 빠르게 만들 수 있도록 한다.특징객체 생성 비용 절감: 복잡한 객체를 새로 생성하는 것보다 기존 객체를 복제하는 것이 비용적으로 효율적이다.객체 생성 과정 단순화: 직접 생성자 호출 없이 동일한 속성을 가진 객체를 쉽게 만들 수 있다.런타임 동적 객체 생성 가능: 클래스의 인스턴스를 런타임에서 복제하여 유연한 객체 생성을 지원한다.2. 프로토타입 패턴의 구조Prototype(프로토타입 인터페이스): 객체 복제를 위한 clone() 메서드를 정의한다..
GoF 디자인 패턴 - 빌더 패턴 (Builder Pattern) 1. 빌더 패턴이란?빌더 패턴은 생성 패턴 (Creational Patterns)의 하나로써 복잡한 객체의 생성을 단계적으로 수행하며, 다양한 구성 방법을 제공하는 생성 패턴이다. 객체의 생성 과정과 표현을 분리하여 동일한 생성 절차에서 서로 다른 표현의 객체를 만들 수 있도록 한다.특징객체의 생성 과정 분리: 클라이언트가 객체의 생성 과정을 알 필요 없이, 빌더가 단계적으로 객체를 구성한다.가독성 및 유지보수성 향상: 생성자에 많은 매개변수를 전달하는 방식보다 직관적인 방식으로 객체를 구성할 수 있다.불변 객체 생성에 유리: 필드가 많은 객체를 생성할 때, 불변성을 유지하기 쉽게 설계할 수 있다.2. 빌더 패턴의 구조Product(제품 클래스): 빌더를 통해 생성될 복잡한 객체를 정의한다.Builder..

반응형