3.策略模式
来源:互联网 发布:python项目源代码下载 编辑:程序博客网 时间:2024/05/29 17:17
定义:它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。
1.抽象父类:抽象算法方法。
2.具体算法子类:封装了具体的算法或行为,继承抽象父类。
3.Context类:在类里定义一个成员变量,维护一个对策略对象的引用。并提供一个上下文接口方法,根据具体的策略对象,调用其算法的方法。
4.客户端通过new Context(传入不同的具体算法子类)。由于实例化不同的策略子类,所以最终调用上下文接口方法时调用的是不同具体算法子类的方法。
5.可以在传入new Context(子类)的时候传入字符串而不是传入子类,在Context类中通过判断字符串new出不同的子类来赋值确定调用的是哪个算法子类(目的是使客户端调用时减少类的认识,降低耦合)。
1 0
- 3.策略模式
- 3.策略模式
- 设计模式:3. 策略模式(Strategy)
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 使用ionic框架构建移动应用
- 数组方法之----reverse() 和 sort()
- 函数指针和指针函数
- android 自定义倒计时控件(圆形倒计时显示)
- ndk的配置
- 3.策略模式
- VS 内存泄漏检测
- yii2笔记01:安装与条件检查及服务器配置
- freemarker教程
- 通向架构师的道路(第一天)之Apache整合Tomcat
- Oracle之触发器
- [JAVA]定时任务之-Quartz使用篇
- C语言(数组与指针2)
- Java如何正确的使用try catch finally关闭文件流的总结