博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《大话设计模式》读书笔记2 策略模式
阅读量:5893 次
发布时间:2019-06-19

本文共 989 字,大约阅读时间需要 3 分钟。

策略模式(Strategy):它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。

策略模式结构图:

策略模式实现代码:

abstract class Strategy{	public abstract void AlgorithmInterface();	}class ConcreStrategyA:Strategy{	public override void AlgorithmInterface();	{		console.WriteLine("算法A实现");	}}class ConcreStrategyB:Strategy{	public override void AlgorithmInterface();	{		console.WriteLine("算法B实现");	}}class ConcreStrategyC:Strategy{	public override void AlgorithmInterface();	{		console.WriteLine("算法C实现");	}}class Context{	Strategy strategy;	public Context(Strategy strategy)	{		this.strategy=strategy;	}		public void ContexInterface()	{		strategy.AlgorithmInterface();		}}public void Main(string[] args){	Context context;		context =new Context(new ConcreStrategyA());	context.ContexInterface();		context =new Context(new ConcreStrategyB());	context.ContexInterface();		context =new Context(new ConcreStrategyC());	context.ContexInterface();		Console.Read();	}

转载于:https://www.cnblogs.com/muyangshaonian/p/9650563.html

你可能感兴趣的文章
【转】EDK简单使用流程(3)
查看>>
仿射变换
查看>>
分页器(自定制)
查看>>
视频直播点播nginx-rtmp开发手册中文版
查看>>
PHP队列的实现
查看>>
单点登录加验证码例子
查看>>
[T-SQL]从变量与数据类型说起
查看>>
occActiveX - ActiveX with OpenCASCADE
查看>>
BeanUtils\DBUtils
查看>>
Android利用文本分割拼接开发一个花藤文字生成
查看>>
[转]理解Linux文件系统之inode
查看>>
python模块--os模块
查看>>
linux下单节点oracle数据库间ogg搭建
查看>>
swift三方库
查看>>
POJ NOI0105-42 画矩形
查看>>
Java 数组在内存中的结构
查看>>
《关爱码农成长计划》第一期报告
查看>>
学习进度表 04
查看>>
谈谈javascript中的prototype与继承
查看>>
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>