设计模式--装饰者模式
2009-12-31 16:57
363 查看
装饰模式:顾名思义是用某一个物体来装饰某一个主体物体来形成新的物体。我个人觉得更趋向于由一个主体物品和若干个装饰物品来构成新的物品。比如
一杯纯咖啡(主体),而糖,奶油 属于装饰者.----->奶油咖啡
代码
#region 装饰者模式
public abstract class Beverage
{
protected string strDescription = "UnKnow Beverage";
public string getDescription()
{
return strDescription;
}
public abstract double cost();
}
public abstract class BeverageDecorate:Beverage
{
public abstract string getDescription();
}
public class Mocha : BeverageDecorate
{
Beverage _Beverage;
public Mocha(Beverage obj)
{
_Beverage = obj;
}
public override string getDescription()
{
return _Beverage.getDescription() + ", Mocha";
}
public override double cost()
{
return 0.9 + this._Beverage.cost();
}
}
public class Espresso : Beverage
{
public Espresso() {
strDescription = "Espresso";
}
public override double cost()
{
return 1.99;
}
}
#endregion
一杯纯咖啡(主体),而糖,奶油 属于装饰者.----->奶油咖啡
代码
#region 装饰者模式
public abstract class Beverage
{
protected string strDescription = "UnKnow Beverage";
public string getDescription()
{
return strDescription;
}
public abstract double cost();
}
public abstract class BeverageDecorate:Beverage
{
public abstract string getDescription();
}
public class Mocha : BeverageDecorate
{
Beverage _Beverage;
public Mocha(Beverage obj)
{
_Beverage = obj;
}
public override string getDescription()
{
return _Beverage.getDescription() + ", Mocha";
}
public override double cost()
{
return 0.9 + this._Beverage.cost();
}
}
public class Espresso : Beverage
{
public Espresso() {
strDescription = "Espresso";
}
public override double cost()
{
return 1.99;
}
}
#endregion
相关文章推荐
- 设计模式之装饰者模式
- 设计模式(8)—— 装饰者模式(Decorator Pattern)
- JAVA设计模式初探之装饰者模式
- 装饰者设计模式
- 23种设计模式(11):装饰者模式
- 设计模式:装饰者模式
- 结合项目实例 回顾传统设计模式(三)装饰者模式
- 设计模式之装饰者模式
- 设计模式之间区别 (2) 装饰者模式和继承
- 设计模式 装饰者模式 带你重回传奇世界
- 装饰者设计模式的使用
- C#设计模式--装饰者模式
- 设计模式之装饰者模式
- Java设计模式之装饰者模式
- 设计模式——装饰者模式
- 设计模式之装饰者模式
- PHP设计模式之装饰者模式
- 设计模式——装饰者模式
- 学习:设计模式之装饰者模式
- JAVA设计模式初探之装饰者模式