Java设计模式之装饰模式
来源:互联网 发布:美发店收银软件 编辑:程序博客网 时间:2024/05/18 10:23
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:
Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:
//1.创建一个接口public interface Sourceable { public void method(); }
//2.编写接口的实现类public class Source implements Sourceable { @Override public void method() { System.out.println("the original method!"); } }
//3.装饰被装饰类public class Decorator implements Sourceable { //合成复用法则,把另一个对象当中当前类的一个属性,以构造方法的形式传过来 // private Sourceable source; //装饰类把被装饰类当做一个属性 public Decorator(Sourceable source){ //把被装饰者给传过来 super(); this.source = source; } @Override public void method() { System.out.println("before decorator!"); source.method(); //在调用被装饰类之前可以做一些其他的操作 System.out.println("after decorator!"); } }
//测试类public class DecoratorTest { public static void main(String[] args) { Sourceable source = new Source(); Sourceable obj = new Decorator(source); obj.method(); } }
装饰者设计模式
接口
原始类
装饰类
使用场景:为一个类动态的添加和动态的移除功能。
阅读全文
0 0
- Java设计模式之装饰设计模式
- Java之装饰设计模式
- java设计模式之装饰
- Java设计模式之装饰模式
- Java设计模式之装饰模式
- java设计模式之装饰模式
- Java设计模式之二装饰模式
- JAVA设计模式之装饰模式
- java设计模式之装饰者模式
- java设计模式之装饰模式Decorator
- JAVA设计模式之装饰模式
- JAVA 设计模式之装饰模式
- JAVA设计模式之装饰模式
- java 设计模式之装饰模式
- Java设计模式之装饰者模式
- Java设计模式笔记之装饰模式
- Java设计模式之装饰器模式
- java 设计模式 之 装饰模式
- Zookeeper
- JDBC连接数据库工具类(mysql、oracle、sqlserver)
- Java NIO系列教程(8):SocketChannel
- exiftool gui(exif信息查看工具)v5.16中文免费版下载附使用教程
- SpringCloud-Netflix组件总结
- Java设计模式之装饰模式
- 关于十六进制颜色编码
- 深入Struts2学习(四)
- java NIO 的通道Channel的理解
- 图
- 蓝桥杯试题:加法变乘法
- PAT刷题:1016. Phone Bills (25)
- JAVA设计模式之单例模式
- Retrofit+RxJava+MVP模式使用