Head First 设计模式笔记
设计原则理解
1.找出应用中可能变化的地方,将它们独立出来。不要和那些不需要变化的部分混在一起;
2.针对接口编程,而不是针对实现编程;
针对"接口编程"的意思是“针对超类型编程”,针对接口编程关键在于多态。利用多态程序员可以针对超类型编程,编译器执行会根据实际情况执行到真正的行为,>而不会将超类型绑死,变得更加灵活。程序员可以不用关心超类型的实际类型,因为需求可能在不断变化。
这样设计,一来可以让具体的实现动作被其他复用,因为这些动作已经不与任何超类无关,也不会出现鸭子类会飞,而鸭子的子类“橡皮鸭”不会飞这种矛盾。二来>可以新增一些行为,也不会影响到既有的行为类。
3.原则与模式可以应用到软件生命周期的任何阶段;
多用组合,少用继承;
因为继承会削弱程序的维护性和可扩展性
4.类应该对扩展开放,对修改关闭
设计模式一之策略模式
策略模式定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式的算法变化独立于适用算法的客户(客户不需要知道算法簇执行的内容,只关心他需要的方法是否执行)。
设计是一门艺术,总是有许多可取舍的地方。但是如果你能采用这些经过深思熟虑,并且经受过时间的考验设计模式,你就能领先别人了。