C# 设计模式系列教程:策略模式详解
需积分: 0 56 浏览量
更新于2024-09-03
收藏 100KB PDF 举报
C# 设计模式系列教程-策略模式
策略模式是一种定义一系列算法的方法,从概念上来看,所有算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。
策略模式的定义:
策略模式定义了一系列算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户端。
模式中的角色:
* 策略类(Stratege):定义所有支持的算法的公共接口。
* 具体策略类(ConcreteStratege):封装了具体的算法或行为,继承于Stratege类。
* 上下文类(Context):用一个ConcreteStratege来配置,维护一个对Stratege对象的引用。
策略模式的优点:
* 策略模式可以减少各种算法类与使用算法类之间的耦合。
* 策略模式可以让算法的变化不会影响到使用算法的客户端。
策略模式的应用场景:
* 在日常生活中,策略模式可以应用于选择不同方式来达到相同的目的,例如从机场到XXX酒店的方法。
* 在软件开发中,策略模式可以应用于选择不同算法来解决问题,例如WCF的授权扩展。
策略模式的实现:
* 策略模式可以通过抽象类或接口来定义公共接口。
* 具体策略类可以继承于策略类,实现具体的算法或行为。
* 上下文类可以维护一个对策略对象的引用,选择使用哪个策略。
策略模式的例子:
* 从机场到XXX酒店的方法,可以选择酒店接机服务、打车过去、机场快轨+地铁、机场巴士、公交车、走路过去等等。
* WCF的授权扩展,可以通过自定义授权来扩展WCF,例如通过自定义AuthorizationPolicy和ServiceAuthorizationManager来实现对它的扩展。
策略模式是一种定义一系列算法的方法,可以减少各种算法类与使用算法类之间的耦合,让算法的变化不会影响到使用算法的客户端。
2020-09-02 上传
2010-04-06 上传
2009-10-30 上传
2023-09-10 上传
2023-08-28 上传
2023-06-07 上传
2023-10-23 上传
2023-12-13 上传
2024-09-09 上传
weixin_38672800
- 粉丝: 4
- 资源: 917
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构