본문 바로가기

구조패턴

(3)
GoF 디자인 패턴 - 데코레이터 패턴 (Decorator Pattern) 1. 데코레이터 패턴이란?데코레이터 패턴은 객체에 추가적인 책임(기능)을 동적으로 부여할 수 있게 해주는 구조 패턴이다. 서브클래싱 없이도 기능을 확장할 수 있으며, 개방-폐쇄 원칙(OCP)을 잘 지킨 설계 방식이다.특징동적 기능 확장: 런타임에 객체의 기능을 유연하게 추가 가능OCP 준수: 기존 코드를 수정하지 않고도 기능을 확장조합성 증가: 다양한 데코레이터를 조합해 기능을 유연하게 구성 가능 2. 데코레이터 패턴의 구조Component (컴포넌트): 기본 인터페이스 또는 추상 클래스ConcreteComponent (구현체): 실제 기능을 수행하는 클래스Decorator (데코레이터): Component를 구현하고 자신 안에 Component 참조ConcreteDecorator (구체 데코레이터): ..
GoF 디자인 패턴 - 브릿지 패턴 (Bridge Pattern) 1. 브릿지 패턴이란?브릿지 패턴은 구현(Implementation)과 추상화(Abstraction)를 분리하여 각자 독립적으로 확장할 수 있게 해주는 구조 패턴이다. 즉, 추상적인 기능과 그 기능의 실제 구현을 분리하여 변경이 유연하게 이루어질 수 있도록 한다.특징구현과 추상화의 분리: 서로 독립적으로 확장 가능유지보수 용이: 코드 변경 시 영향 범위가 작아진다클래스 수 감소: 기능 조합이 많아질 경우 클래스 폭증을 방지한다2. 브릿지 패턴의 구조Abstraction(추상화): 클라이언트가 사용하는 인터페이스를 정의하며, 구현체 객체에 위임RefinedAbstraction(확장된 추상화): Abstraction의 확장, 구체적인 기능 제공Implementor(구현 인터페이스): Abstraction에서..
GoF 디자인 패턴 - 어댑터 패턴 (Adapter Pattern) 1. 어댑터 패턴이란?어댑터 패턴은 구조 패턴 (Structural Patterns)의 하나로써 서로 호환되지 않는 인터페이스를 가진 클래스들을 함께 동작하도록 연결해주는 구조 패턴이다. 마치 전기 콘센트의 어댑터처럼, 기존 클래스의 인터페이스를 클라이언트가 기대하는 인터페이스로 변환하여 사용 가능하게 만든다. 특징인터페이스 호환 문제 해결: 기존 코드를 수정하지 않고도 새 코드와 호환되게 만든다.기존 시스템 재사용성 증가: 이미 존재하는 클래스를 변경 없이 재활용할 수 있다.SOLID 원칙 중 개방/폐쇄 원칙(OCP)과 단일 책임 원칙(SRP)을 지킴 2. 어댑터 패턴의 구조Target(목표 인터페이스): 클라이언트가 기대하는 인터페이스Adaptee(적응 대상 클래스): 기존에 호환되지 않는 인터페이..

반응형