软考总结——装饰模式
来源:互联网 发布:登陆传奇永恒网络异常 编辑:程序博客网 时间:2024/06/05 12:47
软考终于结束了,在路上的时候,小伙伴们都特别的兴奋,倩倩说自己有点紧张,然后我就说没事,这次如果考过了那是最好的结果,如果考不过也是好事,因为软考涉及的东西太多了, 如果按复习效果来看,大家准备的都很充足,但是如果就学知识的程度而言,有很多知识点都有深入研究的必要,所以说如果再考一次,在深入的学习一遍,也是很好的经历,这是考试之前的感受。
然而,开始是这么想的,考试完心里没底的时候,才知道内心真实的想法,还是一遍过的好呀。上午题很多知识点都复习到了,只有一些非常零碎的小知识点没有把握,下午题看卷子的时候,大致觉得中规中矩,可是做到设计模式的时候,就被灵活的题目整懵逼了,装饰模式当时觉得自己挺会的,但是真正有一些变化的时候,才发现自己的底子是那么的薄弱,代码量也不够,再加上考场上犯猛,导致最后一道拿分的大题有可能一分都拿不到。学习是个过程,永远没有尽头,既然发生了,就要好好总结自己的疏漏。如果有下一次的考试,一定要把这次不扎实的基础打扎实。
这次就来总结一下这次软考涉及的设计模式——装饰模式
定义:动态给一个对象添加一些额外的职责。就添加功能来说,装饰模式相比生成子类更为灵活
适用性:
- 在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
- 处理那些可以撤销的职责
- 当不能采用生成子类的方法进行扩充时
参与者:
- Component抽象组件:定义一个对象接口,可以给这些对象动态的添加职责
- ConcreteComponent具体组件:定义一个对象,可以给这个对象添加一些职责
- Decorator装饰者:维持一个指向Component对象的指针,并定义一个与Component接口一致的接口
- ConcreteDecorator
类图
特点:
- 具体组件和装饰者都继承自抽象组件,并且装饰者持有抽象组件的引用
- 可以使用装饰者组合具体组件创造出新的类
- 过程2可以重复,知道创造出需要的类
在HeadFirst中,是以咖啡的例子来解释的装饰模式,UML图如下图所示
上图中抽象组件式Coffee,具体组件是左边的两个类(脱咖啡因咖啡和浓缩咖啡),我们用Mocha和Whip来装饰这两种咖啡,我们的卷子上的装饰模式,是装饰一个发票,有发票头、内容、脚注三项去装饰发票。没有很好的做出这道题,有三个原因,第一:对super的理解不到位 第二:考场上遇到不会的比较慌张,没有很好的辨析出哪一个类是super类,第三:还是对这个模式理解的不深刻。
未完待续。。。
0 0
- 软考总结——装饰模式
- 软考设计模式——装饰模式(C++)
- 【软考学习】设计模式——装饰模式
- 【软考总结】——组合模式
- 软考总结— 设计模式之状态模式
- 【软考】——考后总结
- 【软考学习】设计模式——宏观总结
- 扩展系统功能——装饰模式(四):透明与半透明装饰模式,装饰模式注意事项,装饰模式总结
- 软考-设计模式总结
- 软考总结—知识产权
- 软考复习之路——软考总结
- 软考复习之路——软考总结
- 【软考】——软考视频总结
- 【软考学习】——软考总结
- 设计模式学习总结——装饰模式
- 大话设计模式——装饰者模式(总结)
- 扩展系统功能——装饰模式(四):装饰模式总结
- 软考复习--设计模式总结
- 再观《一步之遥》观后感
- 怎么搭建公司内部Maven服务器
- java事件驱动与线程结合
- 内部类
- 【RxJava 实践系列】(三)线程控制 — Scheduler
- 软考总结——装饰模式
- 网络编程
- 38. Count and Say
- 神控(蓝宇等)的优越性,从FHSS与DSSS的优缺点比较
- CSDN第一篇博客文
- android-->自定义view,TopBar模板
- 序列化
- visual studio 2015 warning MSB3246
- Handler 机制