--读书笔记

定义
策略模式--定义算法簇,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。(看不懂的话,往下,有人话版/我自己的解释)
相关原则
> 1,变化单独封装
2,多用组合,少用继承(Go中只有组合)
3,**针对接口编程,不针对实现编程**
>> 意思大概是,在结构部分的代码里,不要出现实例化的东西?(未必对) > 设计系统的时候,首先要熟悉已有的设计模式,最终要能够熟练运用;如果有时候找不到设计模式,则采用OO的原则。**要诀:随时想到系统以后可能需要的变化以及应该变化的原则**

类图

名白
> 设计模式可以把个人的思考层次提高到模式层面,脱离琐碎的对象。

> 策略模式,把类的行为封装为 一个一个的,独立的,可替换的算法,放到其他类里。
>> 具体:用内部接口,替换内部类,加一个setter方法,使该属性可替换,而放方法的类去实现这个接口(上转型)。再美其名曰:运行时多态。 > 如面试被问: 接口的作用?
>> 可从四个方面回答:
1,抽象相关的设计时用
2,实现多态,运行时的动态
3,实现弹性的设计。 4,多人开发时的 约定和标准。 > 深入的探究下:所谓的用接口实现多继承的,是怎么搞的? > 叫法升级: 行为-->算法。

最新文章

  1. undefined function openssl_x509_read
  2. Android事件处理--读书笔记
  3. initial pointer [expert c]
  4. Qt5制作鼠标悬停显示Hint的ToolTip
  5. disruptor流程
  6. linux在线预览pdf文件开发思路
  7. shell与export命令
  8. eclipse java formater 配置详解
  9. BZOJ3165[Heoi2013]Segment——李超线段树
  10. MySQL 之 库操作,表操作
  11. Caffe多线程环境下检测缓慢问题
  12. Linux input子系统编程、分析与模板
  13. TL-WAR1200L V1.0升级软件20170609
  14. @PathVariable与@RequestParam的区别
  15. 阿里云liunx-ubuntu安装中文
  16. 关于Mybatis 的 Mapped Statements collection does not contain value for 异常 解决方案
  17. QString::arg()//用字符串变量参数依次替代字符串中最小数值
  18. 排序算法之直接插入排序Java实现
  19. springboot-1-介绍
  20. sql语句优化 (转)

热门文章

  1. 如何删除错误提交的 git 大文件
  2. win10 uwp 读取保存WriteableBitmap 、BitmapImage
  3. 系统装机硬盘格式 >> GPT或者UEFI
  4. JDBC工具类实例
  5. 数据抓取分析(python + mongodb)
  6. Yii2之组件的注册与创建
  7. phalcon——Paginator分页
  8. 微软Tech Summit 2017,微软携手Unity打造MR之夜
  9. JavaScript--我发现,原来你是这样的JS(再说引用类型,基本包装类型与个体内置对象)
  10. 用css属性画出一棵圣诞树