일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Clean Code
- elastic search
- 스프링 배치
- 제주
- Gradle
- Angular2
- nginx
- intellij
- Spring Batch
- 도메인주도설계
- 엘라스틱서치
- 인텔리J
- Linux
- docker
- Storm
- Hbase
- DDD
- hdfs
- design pattern
- scala
- hibernate
- Java
- spark
- apache storm
- hadoop
- Spring XD
- elasticsearch
- Spring
- Spring Boot
- SBT
Archives
- Today
- Total
욱'S 노트
Decorator - 객체의 기능을 장식하기 본문
반응형
When Using It
객체의 본질적인 정보와 실제 보여지는 기능을 분리하고 싶을때
Class Diagram
Sample Code
Caution
특별한 주의사항은 없다.
객체의 본질적인 정보와 실제 보여지는 기능을 분리하고 싶을때
Class Diagram
Sample Code
public abstract class Component {
public abstract String operation();
}
public class ConcreteComponent extends Component {
private String name;
public ConcreteComponent(String name) {
this.name = name;
}
@Override
public String operation() {
return this.name;
}
}
public abstract class Decorator extends Component {
protected Component component;
public Decorator(Component component) {
this.component = component;
}
public abstract void display();
}
public class ConcreteDecorator extends Decorator {
public ConcreteDecorator(Component component) {
super(component);
}
@Override
public void display() {
System.out.println(this.operation());
}
@Override
public String operation() {
return "+" + component.operation() + "+";
}
}
Caution
특별한 주의사항은 없다.
반응형
'Methdology > Design Pattern' 카테고리의 다른 글
Composite - 계층구조 만들기 (0) | 2012.04.16 |
---|---|
Bridge - 기능과 구현의 분리 (0) | 2012.04.16 |
Facade - 연결의 창구 (0) | 2012.04.10 |
Adapter - 입맛대로 사용하기 (0) | 2012.04.10 |
Prototype - 인스턴스 복사하기 (0) | 2012.04.10 |