반응형

OOP 3

Decorator Pattern 쉽게 이해하기

디자인 패턴을 공부하다 보면 상속으로 기능을 계속 늘리는 방식이 금방 복잡해진다는 것을 만나게 됩니다.기본 객체는 그대로 두고, 필요한 기능만 런타임에 하나씩 덧붙이고 싶을 때가 있습니다.이때 사용할 수 있는 대표적인 구조가 Decorator Pattern입니다. Decorator Pattern은 객체를 감싸는 wrapper를 여러 겹 쌓아, 기존 객체를 수정하지 않고 기능을 동적으로 확장하는 패턴입니다. 이번 글에서는 Decorator Pattern이 왜 필요한지, C++에서는 어떻게 구현할 수 있는지, 그리고 실무에서 어떤 상황에 적합한지 정리해보겠습니다. Decorator Pattern은 핵심 객체를 여러 wrapper로 감싸면서 기능을 단계적으로 추가합니다. 1. Decorator Pattern은..

옵저버 패턴 쉽게 이해하기

디자인 패턴을 공부하다 보면 전략 패턴과 함께 자주 등장하는 패턴이 옵저버 패턴입니다.옵저버 패턴은 어떤 객체의 상태가 바뀌었을 때, 그 객체를 지켜보는 여러 객체에게 자동으로 알림을 보내는 구조입니다.이벤트 처리, UI 갱신, 알림 시스템, 데이터 변경 통지, 게임 오브젝트 이벤트 등 다양한 곳에서 사용됩니다. 옵저버 패턴은 한 객체의 변경을 여러 객체에게 느슨하게 전달하기 위한 디자인 패턴입니다. 이번 글에서는 옵저버 패턴이 왜 필요한지, C++에서는 어떻게 구현할 수 있는지, 그리고 실무에서 어떤 점을 조심해야 하는지 정리해보겠습니다. 1. 옵저버 패턴은 무엇인가?옵저버 패턴은 Observer Pattern이라고 부릅니다.어떤 객체의 상태가 변하면, 그 객체에 등록된 여러 관찰자에게 변경 사실을 알..

전략 패턴 쉽게 이해하기

디자인 패턴을 공부하다 보면 가장 먼저 자주 만나는 패턴 중 하나가 전략 패턴입니다.처음에는 이름이 조금 거창해 보이지만, 핵심은 단순합니다.바뀔 수 있는 알고리즘이나 정책을 별도의 객체로 분리하고, 실행 시점에 갈아 끼울 수 있게 만드는 방식입니다. 전략 패턴은 조건문으로 늘어나는 정책 코드를 객체로 분리해, 변경에는 열려 있고 기존 코드 수정에는 닫힌 구조를 만드는 패턴입니다. 이번 글에서는 할인 정책 예제를 통해 전략 패턴이 왜 필요한지, C++에서는 어떻게 구현할 수 있는지, 그리고 실무에서는 언제 쓰고 언제 피해야 하는지 정리해보겠습니다. 1. 전략 패턴은 무엇인가?전략 패턴은 Strategy Pattern이라고 부릅니다.GoF 디자인 패턴 중 하나이며, 같은 목적을 가진 여러 알고리즘을 캡슐화..

반응형