博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Head First Design Pattern 读书笔记(1) 策略模式
阅读量:5999 次
发布时间:2019-06-20

本文共 819 字,大约阅读时间需要 2 分钟。

hot3.png

Head First Design Pattern 读书笔记(1) Strategy Pattern 策略模式

这几天为了锻炼看英语文档的能力,开着有道硬着头皮看 《Head First Desgin Pattern》的原版书,顺便做下笔记,把里面提到的每个模式通过回忆的方式画出来复习并记下来总结下学习成果=。= ##关于设计模式

  1. 使用设计模式是为了增强程序的复用性,拓展性,易维护性。
  2. 设计模式会增加程序代码的复杂度,并不是所有情况都必须使用设计模式,需要根据需求以及经验评估使用场景。
  3. 学习并掌握设计模式后不会大幅提高编程水平(笑),但是平常写代码时应该多用面向对象思维考虑一下。
  4. 设计模式可以让程序员之间沟通更简洁准确。(比如说,码农a:“这两个类是一对多的关系,这种调用关系应该用观察者模式”。码农b:“ok,我知道怎么搞了” 而不是balabala一大堆代码怎么写)

##Strategy Pattern 类图 策略模式类图 ##定义 策略模式:通过接口定义一类抽象的算法(这里的算法可以认为是某类操作或方法)集合,让这个集合下的每种算法都是独立可变化,互不影响的。策略模式使调用方可以灵活的使用某类算法集合下的各种算法。

##几个OO的原测

  1. 封装变化的部分。-->总结变化与不变的地方,将变化的部分通过抽象封装出来。
  2. 尽量使用组合(has a)而不是继承(is a)。-->组合比继承更加“松耦合”,而且某些语言(如java)只能单一继承,过度使用继承,将导致程序不容易扩展,修改子类功能会动到父类等情况。
  3. 针对接口编程,而不是针对实现编程。-->接口相对于具体的某个类更加抽象,针对接口编程,可以使用多态(polymorphism)的方式让程序更加灵活,比如通过依赖注入的方式在运行时更改对象内的变量。(Spring IOC就是这么干的)

转载于:https://my.oschina.net/u/1010578/blog/363127

你可能感兴趣的文章
SQL Server on Linux BCP工具导出RDS SQL Server数据
查看>>
《Android深度探索(卷1):HAL与驱动开发》——6.5节使用Eclipse开发和测试Linux驱动程序...
查看>>
Docker, Java EE 7, 和 Maven with WebLogic 12.1.3 【已翻译100%】
查看>>
我希望自己尽早知道的 7 个 JavaScript 怪癖
查看>>
Phalcon7 1.2.1 发布,C 开发的 PHP 7 框架
查看>>
《编写高质量代码:改善c程序代码的125个建议》——建议3-1
查看>>
《深入解析IPv6(第3版)》——2.7 支持IPv6的工具
查看>>
新一代 Tor 发布,它牛在哪里?
查看>>
《iOS应用开发》——2.5节总结
查看>>
【干货】iOS 11 短信拦截功能初探
查看>>
答读者问:非计算机专业的学生如何学习数据分析
查看>>
《C和C++程序员面试秘笈》——1.12 C++中main函数执行完后还执行其他语句吗
查看>>
《Oracle SQL疑难解析》导读
查看>>
《Xcode实战开发》——2.10节标签式编码
查看>>
《机器学习与数据科学(基于R的统计学习方法)》——1.10 在生产中使用R
查看>>
框架解读:中国互联网年度趋势报告(附128PPT下载)
查看>>
Try Redis : Redis 入门教程
查看>>
《社会调查数据管理——基于Stata 14管理CGSS数据》一3.5 中国综合社会调查
查看>>
手把手 | 初学者如何用Chainer为漫画上色 深度学习帮你逆袭漫画家(附代码)...
查看>>
《敏捷软件开发:原则、模式与实践(C#版.修订版)》—第1章1.1节敏捷联盟
查看>>