把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用这些模式。(经验复用)
==
当涉及【维护】时,为了【复用】目的而使用继承,结局并不完美。
==
把问题归零。
现在我们知道继承有一些缺失,因为改变鸭子的行为会影响所有种类的鸭子。...接口一开始似乎不错,但Java的接口不具有实现代码,所以继承接口无法达到代码的复用。
==
设计原则①:找出应用中的变化之处,并将它们独立出来
设计原则②:针对接口编程,而不是针对实现编程。
这样的设计,可以让动作被其他的对象复用,而我们也可以新增一些行为,不会影响到既有的行为类。
设计原则③:多用组合(composition),少用继承
原文:http://www.cnblogs.com/n3wwrd/p/7392695.html