티스토리 뷰

카테고리 없음

데코레이터 패턴

사랑과사람 2009. 2. 17. 17:45

테코레이터 패턴에서는 객체에 추가적인 요건을 동적으로 첨가한다. 데코레이터는
서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다.


예제
커피를 만들 때 여러가지 추가 요소를 넣어서 커피를 만들고 계산하는 예제


- Beverage.java

public abstract class Beverage {
 String description = "제목없음";
 public String getDescription() {
  return description;
 }
public abstract double cost();
}



- CondimentDecorator.java

public abstract class CondimentDecorator extends Beverage {
 public abstract String getDescription();
}



- HouseBlend.java

public class HouseBlend extends Beverage {
 
 public HouseBlend(){
  description = "하우스블렌드";
 }

 public double cost()
 {
  return .89;
 }
}



- Espresso.java

public class Espresso extends Beverage {

 public Espresso(){
  description = "에스프레소";
 }

 public double cost()
 {
  return 1.99;
 }
}



- Decaf.java

public class Decaf extends Beverage {

 public Decaf(){
  description = "디카프";
 }

 public double cost()
 {
  return 1.05;
 }
}


소스파일 다운
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
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
글 보관함