본문 바로가기

GoF Design Pattern2

[GoF Design Pattern] 3. 데코레이터(Decorator) 패턴 [GoF Design Pattern] 3. 데코레이터(Decorator) 패턴 데코레이터 패턴은 소위 말해 객체를 장식하는 패턴이다. 객체를 장식할 때 기존 코드는 수정하지 않고, 새로운 기능을 확장할 수 있도록 돕는 패턴이다. 여기서 장식이라는 것은 어떻게 수행하는 것인지 예시를 통해 살펴보자 [헤드퍼스트 디자인 패턴] 책에서는 다음과 같은 예시를 들었다. 커피에 새로운 첨가물을 추가하여 새로운 커피를 만들어내야 한다. 이때 첨가물의 종류에 따라 커피의 가격이 달라지도록 개발해야 한다. 커피의 구성요소는 크게 [기본 커피]와 [첨가물] 이라고 하자. 기본 커피에는 다양한 첨가물이 여러 경우의 수로 추가될 수 있다. 예를 들어 Dark Roast(1달러)라는 기본 커피에 Whip(+0.3달러), Moch.. 2023. 6. 18.
[GoF Design Pattern] 1. 전략(Strategy) 패턴 [GoF Design Pattern] 1. 전략(Strategy) 패턴 흔히 디자인 패턴이라고 말하면, GoF(Gang of Four)라 불리는 소프트웨어 공학자 4명이 구체화한 23개의 디자인 패턴을 말한다. 디자인 패턴은 모듈 단위가 아닌 클래스 레벨에서 설계를 하는 기교이며 다음과 같이 목적(클래스, 객체), 범위(생성, 구조, 행위)에 따라 구분하기도 한다. 생성 패턴(Creational Pattern) : 객체를 생성하는 방법에 대한 패턴들이다. 생성 로직을 숨기면서, 사용 목적에 따라 어떻게 객체를 생성할 지에 대한 유연성을 제공한다. 특히 객체의 생성과 조합을 캡슐화하여 객체의 생성 또는 변경과정에서 프로그램 구조가 영향받지 않도록한다. ex) 팩토리 메서드(Factory Method) 패.. 2023. 5. 14.