设计模式,我认为是一种规范,一种解决方案,以及一种工具箱;在使用面向对象程序语言的时候,常常会用到设计模式,来使代码更有效率。学会设计模式,还可以极大减少代码编写者互相交流时的歧义。
这里我们将介绍第一种设计模式——策略模式
首先我们先来了解OO,即Object Oriented,面向对象。
学过面向对象应该知道以下几点
1、OO基础
- 抽象
- 封装
- 多态
- 继承
2、OO基本原则
- 封装变化
- 多用组合,少用继承
- 针对接口编程,不针对实现
策略模式的概念
定义算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的用户
特点
增加系统可操作性,比如增加功能,减少功能比较方便,降低耦合性。
以下是策略模式UML类图:
结论:将使用行为封装,角色抽象,实体类继承抽象类,该模式其实就是OO基础与OO基本原则。
封装武器行为
下一节:观察者模式(链接)