Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- intellij
- SBT
- Spring
- 제주
- Hbase
- nginx
- 도메인주도설계
- Domain Driven Design
- hibernate
- design pattern
- Linux
- Spring Boot
- elasticsearch
- Storm
- Spring XD
- docker
- apache storm
- elastic search
- Spring Batch
- Java
- spark
- Gradle
- Clean Code
- scala
- 스프링 배치
- DDD
- Angular2
- hadoop
- 엘라스틱서치
- hdfs
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 |
Comments