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

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

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

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

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

##几个OO的原测算法

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