设计模式入门
1、当涉及到“维护”时,为了“复用”目的而使用继承,并不是最好的方法。
2、利用继承来提供对象的行为,会导致以下缺点:
1)代码在多个子类中重复;
2)运行时的行为不容易改变;
3)很难知道所有子类的全部行为;
4)改变父类会牵一发而动全身,造成其他子类不想要的改变;
3、使用接口(JAVA)或虚基类加多重继承(C++)方法,则会需要对需要维护的代码中的每个子类都分别考虑其特有方法的继承来源。
4、设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。即:把会变化的部分取出并“封装”起来,以便以后可以轻易的改动或扩充此部分,而不影响不需要变化的部分。
5、设计原则:针对接口编程,而不是针对实现编程。
将对象的行为放在分开的类中,此类专门提供某行为接口的实现,并且在对象类中包含可设定行为的方法,使得程序可在“运行时”动态的改变特定对象的行为。
6、封装行为的大局观
设计原则:多用组合,少用继承
7、策略模型:定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
8、设计模式的名词使用主要为了程序员间交流方便