本书思想总结

1.设计模式入门(p1-35)

软件开发真理:CHANGE

问题归零

设计原则:找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。

分开变化和不会变化的部分。

设计对象行为(Behavior)

设计原则:针对接口(或超类型-supertype)编程,而不是针对实现编程

实现行为->整合行为->动态设定行为

封装行为的大局观:'有一个'比'是一个'更好。

设计原则:多用组合,少用继承。

如果 软件开发完成前小于完成后,尽可能提高可维护性和可拓展性的复用程度。

策略模式(Strategy Pattern)

策略模式 定义了算法族,分别封装起来,让他们之间可互相替换,此模式让算法的变化独立于使用算法的客户。

设计模式可以把思考架构的层次提高到模式层面,而不是仅停留在琐碎的对象上。设计原则可以在找不到设计模式的基础上帮助开发人员建立可维护的OO系统。
关心建立弹性设计,可维护,可应付变化

设计工具箱工具

  1. OO基础
    1. 抽象
    2. 封装
    3. 多态
    4. 继承
  2. OO原则
    1. 封装变化
    2. 多用组合,少用继承
    3. 针对接口编程,不针对实现编程
  3. OO模式
    1. 策略模式: 定义算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户.