Java 装饰设计模式
来源:互联网 发布:linux vi recording 编辑:程序博客网 时间:2024/05/21 06:01
装饰设计模式:
对一组对象的功能进行增强时,就可以用该模式进行问题的解决
装饰和继承都能实现一样的特点:进行功能的扩展增强
有什么区别呢?
首先有一个继承体系
Writer
|----TextWriter:用于操作文本
|----MediaWriter:用于操作媒体
想要对操作的动作进行效率的提高
按照面向对象,可以通过继承对具体对象 进行功能的扩展
Writer
|----TextWriter:用于操作文本
|---BufferTextWriter:加入了缓冲技术的操作文本的流对象
|----MediaWriter:用于操作媒体
|---BufferMediaWriter:加入了缓冲技术的操作媒体的流对象
到这里就结束了 但是这样做好像并不理想
如果这个体系进行功能扩展 又多了流对象
那么这个流要提高效率 是不是也要产生子类呢 是 这时就会发现 只为提高功能进行的继承
导致继承体系越来越臃肿。 不够灵活
重新思考这个问题
既然加入的都是同一种技术--缓冲
前一种是让缓冲和具体的对象相结合
可不可以将缓冲进行单独的封装 哪个对象需要缓冲 就将哪个对象 和缓冲关联
class BufferWriter extends Writer{
Buffer(Writer w){
}
}
Writer
|----TextWriter:用于操作文本
|----MediaWriter:用于操作媒体
|----BufferWriter 用于提高效率
装饰比继承更为灵活。不需要产生关系特点:装饰类和被装饰类都必须所属与同一个接口或者父类
阅读全文
0 0
- Java装饰设计模式
- Java 装饰设计模式
- Java 装饰设计模式
- java 装饰设计模式
- Java 装饰设计模式
- java 装饰设计模式
- Java装饰设计模式
- Java 装饰设计模式
- Java装饰设计模式
- Java 设计模式 --装饰模式
- Java 设计模式-----装饰模式
- java设计模式-装饰模式
- java设计模式---装饰模式
- java设计模式-装饰模式
- 【Java设计模式】装饰模式
- java设计模式-装饰模式
- java设计模式--装饰模式
- java设计模式---装饰模式
- Spring Boot中使用Swagger2构建强大的RESTful API文档
- 对imageLoader进行配置的方法L
- 前端套路问题
- IT专业人员演变成具有正确DevOps技能的SRE
- window系统的定时关机
- Java 装饰设计模式
- MYSQL下如何执行sql脚本
- 流水作业 动态规划
- poj 3311(浅谈状态压缩动态规划在解决TSP问题中的应用)
- Java4Android笔记之Java中的变量
- listview的显示不同的多种样式
- boost.Program_options 命令行参数解析
- 思科模拟器软件的使用
- 【Node之web通信Socket.IO】