Head First 设计模式 读书笔记

1、 使用模式最好的方式:把模式装进脑子中,然后在你的设计中和已有的应用中,寻找何处可以使用这些模式。
2、 对代码所做的局部修改,影响层面不只是局部(会飞的橡皮鸭子)。
3、 当涉及“维护”时,为了“复用”目的而使用继承,结局并不完美。
4、 不变的是变化。
5、 设计原则一:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
6、 设计原则二:针对接口编程,而不是针对实现编程。
7、 针对超类型(接口)编程:变量的声明类型应该是超类型,通常是一个抽象类或者是一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量。
8、 观察者模式:让你的对象知悉现状。
9、 利用观察者模式,主题是具有状态的对象,并且可以控制这些状态。另一方面,观察者使用这些状态,虽然这些状态并不属于他们。“一个”主题对“多个”观察者。。
10、 观察者模式:主题是真正拥有数据的人,观察者是主题的依赖者,在数据变化时更新,这样比起让许多对象控制同一份数据来,可以得到更干净的OO设计。
11、 设计原则三:多用组合,少用继承。
12、 尽管继承威力强大,但它并不总数能够实现最有弹性和最好维护的设计:利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会集成到相同的行为。然而,如果鞥个利用组合的做法扩展对象的行为,就可以在运行时动态地进行扩展。
13、 设计原则四:对扩展开放,对修改关闭:这样的设计具有弹性可以应对改变,可以接受新的功能来应对改变的需求。
14、 装饰者模式:
a) 装饰者和被装饰者对象有相同的超类型。
b) 可以用一个或多个装饰者包装一个对象。
c) 在任何需要院士对象的场合,可以用装饰过的对象代替它。
d) 装饰者可以在所委托被装饰者的行为之前与、或之后,加上自己的行为,以达到特定的目的。
e) 对象可以在任何时候被装饰,所以可以在运行时动态地、不限量地用你喜欢的装饰者来装饰对象。
15、 装饰者模式:动态地将责任附加到对象上。想要扩展功能,装饰者提提供有别于继承的另一种选择。
16、 OO 原则:封装变化 多用组合,少用继承 针对接口编程,不针对实现编程 为交互对象之间的松耦合设计而努力 对扩展开放,对修改关闭。
17、 策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值