욱'S 노트

Decorator - 객체의 기능을 장식하기 본문

Methdology/Design Pattern

Decorator - 객체의 기능을 장식하기

devsun 2012. 4. 16. 12:23
When Using It

객체의 본질적인 정보와 실제 보여지는 기능을 분리하고 싶을때

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