关于装饰者模式的总结
2019-07-21 07:10
1611 查看
装饰者模式:动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。
装饰者模式UML图:
装饰者模式具体例子:
public abstract class Beverage { String desription = "Unknown Beverage"; public String getDescription(){ return desription; } public abstract double cost(); }
public abstract class CondimentDecorator extends Beverage{ public abstract String getDescription(); }
public class DarkRoast extends Beverage { public DarkRoast(){ desription = "Dark Roast Coffee"; } @Override public double cost() { // TODO Auto-generated method stub return 2.10; } }
public class Espresso extends Beverage { public Espresso(){ desription = "Espresso"; } @Override public double cost() { // TODO Auto-generated method stub return 1.99; } }
public class HouseBlend extends Beverage { public HouseBlend(){ desription = "HouseBlend"; } @Override public double cost() { // TODO Auto-generated method stub return .89; } }
public class Mocha extends CondimentDecorator { Beverage beverage; public Mocha(Beverage beverage){ this.beverage = beverage; } @Override public String getDescription() { // TODO Auto-generated method stub return beverage.getDescription()+", Mocha"; } @Override public double cost() { // TODO Auto-generated method stub return .20 + beverage.cost(); } }
public class Soy extends CondimentDecorator { Beverage beverage; public Soy(Beverage beverage){ this.beverage = beverage; } public int getSize(){ return beverage.getSize(); } @Override public String getDescription() { // TODO Auto-generated method stub return beverage.getDescription()+", Soy"; } @Override public double cost() { // TODO Auto-generated method stub return .10 + beverage.cost(); } }
使用场景:java.io类
相关文章推荐
- 关于C++单例模式的终极总结
- 关于观察者模式的总结
- 关于单例设计模式的总结
- 关于安卓里实现监听器回调模式的运用,自己的一些概括理解和总结
- 大话设计模式——装饰者模式(总结)
- 建造者模式-Builder Pattern 复杂对象的组装与创建——建造者模式(三):关于Director的进一步讨论,建造者模式总结
- 关于装饰设计模式的总结
- 关于mybatis层(数据库插入序列化、外键问题)、debug模式的个人简单理解(今日总结)
- 周报(关于项目开发模式的一点总结)
- 关于装饰者模式的一些理解
- android 开发关于单例模式的用法和总结
- WriteOS: 关于操作系统进入保护模式的总结
- 关于单例模式的总结
- 关于装饰者模式的开发理解
- 安卓关于设计模式_装饰者模式
- 项目总结(一)--- 关于用到的设计模式
- 关于设计模式的一点总结
- 关于“装饰者模式”的一点粗浅理解
- java中关于设计模式的总结
- 关于策略模式的总结