第三周学习总结

用户头像
嘻哈
关注
发布于: 2020 年 06 月 24 日

设计原则:单一职责、开闭原则、里氏替换原则、接口分离原则、依赖倒置原则



什么是设计模式?

  • 每一种问题通用解决方案。这种问题在我们的环境中,不停的的出现

  • 设计模式是一种可重复使用的解决方案



设计模式的四个部分:模式名称、待解决问题、解决方案、结论



设计模式的划分



从功能划分

  • 创建模式

  • 对类的实例化过程

  • 结构模式

  • 将类或者对象结合在一起形成的更强大的结构

  • 行为模式

  • 对不同的对象之间划分责任和算法的抽象化

从方式分

  • 类模式

  • 以继承的方式实现模式,静态的

  • 对象模式

  • 以组合方式实现模式,动态的



策略模式的使用:

什么时候用:系统在设计是需要使用多种算法的一种,系统重构时将条件语句转换成对策略的多态性调用

优点:将使用策略的人和策略的实现分开、策略对象可以自由的组合

缺点:策略模式仅仅封装了“算法的实现”,方便添加和替换算法。但它并不关心何时使用何种算法,这个必须有客户端来决定



装饰器模式

  • 是一种对象结构模式

作用

  • 在不改变对客户端的接口的前提下(对客户端透明)

  • 扩展现有功能



装饰器与模式模板方法、策略模式比较

  • 装饰器保持对象的功能不变,扩展外围的功能

  • 模板方法和策略模式则保持算法的框架不变,扩展其内部的功能



装饰器和继承的比较

  • 都可以来扩展对象的功能

  • 但装饰器是动态的,继承是静态的

  • 装饰器可以任意组合

  • 但这也是装饰器更复杂,有可能会组合出荒谬的结果



装饰器的应用

  • java serlet的应用

  • HttpServletRquest/HttpServletRequestWrapper

  • HttpServletResponse/HttpSevletResponseWrapper

  • 同步优化器

  • Collection.synchronizedList(list)

  • 取代原来的Vector/Hashtable

  • Java IO类的实现

  • InputStream/OutPutStream -代表byte流

  • Reader/Writer - 代表char(Unicode字符流)

  • 流的对称性

  • 输入-输出对称

  • Byte-char对称

  • 因此我们只要学校任意一种流,就可以基本了解其它所有的流



发布于: 2020 年 06 月 24 日 阅读数: 23
用户头像

嘻哈

关注

还未添加个人签名 2018.02.13 加入

还未添加个人简介

评论

发布
暂无评论
第三周学习总结