Ø 概念:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
Ø 涉及到的OO原则:
1.封装变化。把系统中可变的部分提取出来,进行封装。
2.针对接口编程,而不是针对实现编程。(对应公用的基类来说,不要直接实现,而是利用接口把算法抽象出来,具体的实现,交给继承接口的实例去处理)
3.多用组合,少用继承。
Ø UML图
Ø 优点:
1.扩展性好
2.代码复用性好
3.易维护
Ø 概念:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
Ø 涉及到的OO原则:
1.封装变化。把系统中可变的部分提取出来,进行封装。
2.针对接口编程,而不是针对实现编程。(对应公用的基类来说,不要直接实现,而是利用接口把算法抽象出来,具体的实现,交给继承接口的实例去处理)
3.多用组合,少用继承。
Ø UML图
Ø 优点:
1.扩展性好
2.代码复用性好
3.易维护