본문 바로가기

OCP

(2)
디자인패턴 - 데커레이터 패턴(Decorator Pattern) decoration은 '장식(포장)'이란 뜻이다. 빵집에서 케이크를 만들 때 먼저 둥근 모양의 빵을 만든다. 이 위에 초콜릿을 바르면 초콜릿 케이크가 되고, 치즈를 바르면 치즈 케이크가 된다. 또 생크림을 바르고 과일을 많이 올려놓으면 과일 생크림 케이크가 된다. 이처럼 기존에 구현되어 있는 클래스(둥근 모양의 빵)에 그때그때 필요한 기능(초콜릿, 치즈, 생크림)을 추가(장식, 포장)해나가는 설계 패턴을 decorator 패턴이라고 한다. 이것은 기능 확장이 필요할 때 상속의 대안으로 사용한다. 그림에서 decorator 클래스가 기존에 구현되어 있는 클래스(둥근 모양의 빵)에 해당되고, concreteDecorator클래스는 그때그때 필요한 기능(초콜릿, 치즈, 생크림)을 추가(장식, 포장)해나가는 것..
SOLID 원칙이란? SOLID 원칙이란? S : SRP(Single Responsibility Principle) - 단일 책임 원칙 O : OCP(Open Closed Principle) - 개방-폐쇄 원칙 L : LSP(Liskov Substitution Principle) - 리스코프 치환 원칙 I : ISP(Interface Segregation Principle) - 인터페이스 분리 원칙 D : DIP(Dependency Inversion Principle) - 의존 역전 원칙 S : SRP(Single Responsibility Principle) - 단일 책임 원칙 단일 책임 원칙이란 말 그대로, 하나의 객체는 하나의 책임만 가져야 한다는 원칙이다. 만약 많은 기능을 한 객체에 다 쑤셔 넣는다면? 그만큼 그 객..