head first 设计模式第一章笔记

设计模式是告诉我们如何组织类和对象以解决某种问题。

学习设计模式,也就是学习其他开发人员的经验与智慧,解决遇到的相同的问题。

使用模式的最好方式是:把模式装进脑子,然后在设计的时候,寻找何处可以使用它们。函数,方法是代码的复用,模式是经验的复用。

继承:超类的改变是会影响所有子类的,有时候让所有的子类都具有超类的行为是不恰当的,所以继承并不总是能很好的解决问题。

接口:java的接口是不具有实现代码的,所以继承接口是无法达到代码复用的

修改软件时,寻求用一种对既有代码影响最小的方式来修改软件,是我们的想要的需求。

设计原则一:找出应用中可能需要变化之处,把他们抽取出来并“封装”,不和那些不需要变化的代码混在一起。这样代码变化引起的不经意后果变少,系统将变得更有弹性。

这个简单是原则几乎是以后每个设计模式背后的精神所在----“系统中的某部分变化不会影响其他部分”

设计原则二:针对接口编程,而不是针对实现编程。即利用多态,程序针对超类型编程。实例的行为将在运行时动态的设定。

设计原则三:多用组合,少用继承。两个类的组合,能获得适当的组合行为,同时系统也具有很大的弹性。

学完以上三个原则,获得第一个设计模式:策略模式(定义了算法族,分别封装起来,让他们直接可以互相替换,此模式让算法的变化独立于使用算法的客户)。

建立可维护的OO系统,要诀在于随时想到系统以后可能需要的变化以及应付变化的原则。

上一篇:Scrapy--1安装和运行


下一篇:Ruby on Rails Tutorial 第一章笔记