读书笔记2:策略模式
来源:互联网 发布:阿里云个人备案照片 编辑:程序博客网 时间:2024/06/06 08:38
策略模式:定义了算法家族,分别封装起来,让它们之间可以互相替换,
此模式让算法的变化,不会影响使用算法的客户。
此模式让算法的变化,不会影响使用算法的客户。
我觉得,策略模式有点类似于工厂模式:继承一个父类,不同的子类实现父类的方法都不同,然后根据需求初始化相应的子类。不同的是策略模式是针对算法的,工厂模式可以使用所有这种情况。
依然以截取网页功能为例:
截取算法父类:
对于不同的网页截取算法不同,可以抽象一个父类,它有一个截取算法
- public class ReadStrategeSuper
- {
- public abstract string ReadWebPage(){}
- }
对于第一种网页对应算法一:
- public class ReadStratege1:ReadStrategeSuper
- {
- public overrride string ReadWebPage(){算法1;}
- }
对于第二种网页对应算法二:
- public class ReadStratege2:ReadStrategeSuper
- {
- public overrride string ReadWebPage(){算法2;}
- }
... ...
有一个Context来决定采用哪种策略。
- public class Context
- {
- ReadStrategeSuper readSuper;
- public Context(ReadStrategeSuper readSuper)
- {
- this.readSuper = readSuper;
- }
- public string GetResult()
- {
- return readSuper.ReadWebPage();
- }
- }
调用
- main()
- {
- Context context;
- 第一种网页
- context = new Context(new ReadStratege1());
- string resultStr1 = context.GetResult();
- 第二种网页
- context = new Context(new ReadStratege2());
- string resultStr2 = context.GetResult();
- ... ...
- }
这样的好处是算法独立,易于修改维护,缺点是类太多,对于算法很多的情况,类太多管理反而不太方便。
0 0
- 读书笔记2:策略模式
- 读书笔记2:策略模式
- 《大话设计模式》读书笔记2 策略模式
- 读书笔记--策略模式
- 《设计模式》读书笔记:策略模式
- 设计模式读书笔记-----策略模式
- 设计模式读书笔记--策略模式
- 设计模式读书笔记-----策略模式
- 《企业应用架构模式》读书笔记2-分布策略
- 设计模式读书笔记之策略模式(Strategy)
- 《读书笔记》设计模式——策略模式
- 【Head First设计模式-读书笔记】策略模式
- 设计模式读书笔记之策略模式(Strategy)
- 大话设计模式读书笔记之策略模式
- 《设计模式之禅》读书笔记-策略模式
- 读书笔记---Head First 设计模式--- 策略模式
- 大话设计模式读书笔记之策略模式
- 第二章 商品促销-策略模式(读书笔记)
- 从工程到代码的自我分裂
- Object对象详解(一)之toString
- 【小松教你手游开发】【系统模块开发】u3d c# 写一个通用倒计时器
- Mac下Android Studio配置JDK7
- Mac OS yosemite手动卸载db2 v10.1以及重新安装过程(不断更新中...)
- 读书笔记2:策略模式
- iOS 工程常用的几个第三方框架
- 如何在bat文件执行完毕后不自动关闭窗口
- 获取目录下的文件与子目录列表
- 扣丁学堂O2O在线课
- POJ 3784 Running Median
- activity小结——随时随地退出程序
- Oracle GoldenGate 快速安装配置实用指南
- iOS图片缓存开源库SDWebImage的使用