大话设计模式--6.装饰模式
2014-06-16 13:24
323 查看
问题:小菜约会该怎么打扮?
package a;
public class Person {
public Person(){;}
private String name;
public Person(String name)
{
this.name=name;
}
public void show()
{
System.out.println("Decorated "+name +":");
}
}
作为一个新手 看设计模式 只能大体懂意思 却不能像大牛一样 思考深处的精髓 果然实践少 缺少类似的经历
总结: 装饰模式是为已有功能动态的添加更多功能的一种方式.
当系统需要新功能的时候 向旧的类中添加新的代码,而旧的类中代码 旺旺包括了原有类的核心职责和行为,所以这种装饰方法 使类更加复杂
所以装饰模式提供了一个非常好的方案,把要装饰的功能单独放在一个类中,并让这个类包装它所需要装饰的对象. 从而可以实现 客户端有选择 有顺序的包装
把类的核心功能和装饰部分分开 去除了核心类的装饰逻辑.
package a;
public class Person {
public Person(){;}
private String name;
public Person(String name)
{
this.name=name;
}
public void show()
{
System.out.println("Decorated "+name +":");
}
}
package a; public class finary extends Person{ private Person p; public void setDecorate(Person p) { this.p=p; } public void show() { if(p!=null) { p.show(); } } }
package a; public class tshirt extends finary{ public void show() { super.show(); System.out.println("穿T恤"); } }
package a; public class briefs extends finary{ public void show() { super.show(); System.out.println("穿超短裤"); } }
package a; public class ballshoes extends finary{ public void show() { super.show(); System.out.println("穿球鞋"); } }
package a; public class ui { public static void main(String []args) { Person p=new Person("小菜"); tshirt ts=new tshirt(); briefs br=new briefs(); ballshoes ba=new ballshoes(); ts.setDecorate(p); br.setDecorate(ts); ba.setDecorate(br); ba.show(); } }
作为一个新手 看设计模式 只能大体懂意思 却不能像大牛一样 思考深处的精髓 果然实践少 缺少类似的经历
总结: 装饰模式是为已有功能动态的添加更多功能的一种方式.
当系统需要新功能的时候 向旧的类中添加新的代码,而旧的类中代码 旺旺包括了原有类的核心职责和行为,所以这种装饰方法 使类更加复杂
所以装饰模式提供了一个非常好的方案,把要装饰的功能单独放在一个类中,并让这个类包装它所需要装饰的对象. 从而可以实现 客户端有选择 有顺序的包装
把类的核心功能和装饰部分分开 去除了核心类的装饰逻辑.
相关文章推荐
- 装饰模式【大话设计模式Demo】
- 《大话设计模式》之 装饰模式 Delphi实现
- 大话设计模式之装饰设计模式
- 大话设计模式之装饰模式
- 大话设计模式(一)简单工厂模式 策略模式 单一职责原则 开放-封闭原则 依赖倒置原则 装饰模式
- 大话设计模式之装饰模式代码
- 大话设计模式3 装饰模式 的java代码实现
- 《大话设计模式》之--第6章 穿什么有这么重要?----装饰模式
- 大话设计模式——装饰模式
- 《大话设计模式》——读后感 (6)穿什么有这么重要?——装饰模式
- 《大话设计模式》之--第6章 穿什么有这么重要?----装饰模式
- 《大话设计模式》读书笔记:装饰模式与均值计算实例
- 《大话设计模式》读书笔记:装饰模式与均值计算实例
- 大话设计模式之装饰模式
- 大话设计模式之装饰模式
- 大话设计模式学习(四)——装饰模式
- 《大话设计模式》代码JAVA版-第6章 装饰模式
- 大话设计模式3 装饰模式 代理模式
- 读《大话设计模式》有感之装饰模式
- 大话设计模式学习 装饰模式