Head First 设计模式笔记

设计原则理解

  1.找出应用中可能变化的地方,将它们独立出来。不要和那些不需要变化的部分混在一起;

  2.针对接口编程,而不是针对实现编程;

  针对"接口编程"的意思是“针对超类型编程”,针对接口编程关键在于多态。利用多态程序员可以针对超类型编程,编译器执行会根据实际情况执行到真正的行为,>而不会将超类型绑死,变得更加灵活。程序员可以不用关心超类型的实际类型,因为需求可能在不断变化。
  这样设计,一来可以让具体的实现动作被其他复用,因为这些动作已经不与任何超类无关,也不会出现鸭子类会飞,而鸭子的子类“橡皮鸭”不会飞这种矛盾。二来>可以新增一些行为,也不会影响到既有的行为类。

  3.原则与模式可以应用到软件生命周期的任何阶段;

  多用组合,少用继承;

  因为继承会削弱程序的维护性和可扩展性

  4.类应该对扩展开放,对修改关闭

设计模式一之策略模式

  策略模式定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式的算法变化独立于适用算法的客户(客户不需要知道算法簇执行的内容,只关心他需要的方法是否执行)。

  设计是一门艺术,总是有许多可取舍的地方。但是如果你能采用这些经过深思熟虑,并且经受过时间的考验设计模式,你就能领先别人了。

原文地址:https://www.cnblogs.com/glassysky/p/12490374.html