策略模式(Stategy Pattern)
知识点
- 找出引用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
- 针对接口编程,而不是实现编程。
- 多用组合,少用继承
示例
aaarticlea/png;base64,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" alt="" />
public interface FlyBehavior
{
void Fly();
} class FlyWithWings:FlyBehavior
{
#region FlyBehavior 成员 public void Fly()
{
Console.WriteLine("会飞的鸭子");
} #endregion
} public class FlyNoWay:FlyBehavior
{
#region FlyBehavior 成员 public void Fly()
{
Console.WriteLine("飞不起来的");
} #endregion
}
飞行行为
public interface QuackBehavior
{
void Quack();
} class Quack:QuackBehavior
{
#region QuackBehavior 成员 void QuackBehavior.Quack()
{
Console.WriteLine("嘎!嘎!嘎!");
} #endregion
} class MuteQuack:QuackBehavior
{
#region QuackBehavior 成员 public void Quack()
{
Console.WriteLine("世界一片安静");
} #endregion
}
叫行为
public abstract class Duck
{
//将鸭子的行为通过组合的方式使用,而不是继承
FlyBehavior _flyBehavior;
QuackBehavior _quackBehavior; public FlyBehavior FlyBehavior
{
set { _flyBehavior = value; }
} public QuackBehavior QuackBehavior
{
set { _quackBehavior = value; }
} public abstract void Display(); public void PerformFly()
{
_flyBehavior.Fly();
}
public void PerformQuack()
{
_quackBehavior.Quack();
}
}
鸭子抽象类
class RedheadDuck:Duck
{
public override void Display()
{
Console.WriteLine("红头鸭");
}
}
实现类红头鸭
class Program
{
static void Main(string[] args) {
Duck duck = new RedheadDuck() {
FlyBehavior=new FlyWithWings(),
QuackBehavior=new Quack()
};
duck.Display();
duck.PerformFly();
duck.PerformQuack(); Console.ReadKey();
}
}
aaarticlea/png;base64,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" alt="" />
定义
定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
小结
将主体类的行为分开放在别的类中,这个类就专门用来提供行为接口的实现,这样主体类就不再需要关注行为的实现细节。
就像上面的代码中,红头鸭的飞行为,放在了FlyWithWings类中,这个类实现了一个飞行为的接口,具体怎么飞,在红头鸭的类中我们不需要知道,只要交给FlyWithWings类就行。
策略模式(Stategy Pattern)的更多相关文章
- 设计模式(一):“穿越火线”中的“策略模式”(Strategy Pattern)
在前段时间呢陆陆续续的更新了一系列关于重构的文章.在重构我们既有的代码时,往往会用到设计模式.在之前重构系列的博客中,我们在重构时用到了“工厂模式”.“策略模式”.“状态模式”等.当然在重构时,有的地 ...
- 设计模式 - 策略模式(Strategy Pattern) 具体解释
策略模式(Strategy Pattern) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26577879 本文版权全 ...
- HeadFirst设计模式读书笔记(1)-策略模式(Strategy Pattern)
策略模式(Strategy Pattern): 定义了了算法簇,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户端. 第一个设计原则:找出应用中可能需要变化之处,把他们独立 ...
- 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
原文:乐在其中设计模式(C#) - 策略模式(Strategy Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 策略模式(Strategy Pattern) 作者:webabc ...
- 反馈法学习设计模式(一)——策略模式Strategy Pattern
简介(Introduction) 之前学习Java8实战时,遇到一个很好的策略模式示例.便想着借着这个示例结合反馈式的方法来,学习策略设计模式,也以便后面反复琢磨学习. 首先我们通过练习,逐步写出符合 ...
- 8.6 GOF设计模式四: 策略模式… Strategy Pattern
策略模式… Strategy Pattern 在POS系统中,有时需要实行价格优惠, 该如何处理? 对普通客户或新客户报全价 对老客户统一折扣5% 对大客户统一折扣10% 注:课件 ...
- 二十四种设计模式:策略模式(Strategy Pattern)
策略模式(Strategy Pattern) 介绍定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换.本模式使得算法的变化可独立于使用它的客户. 示例有一个Message实体类,对它的操作有 ...
- 设计模式系列之策略模式(Strategy Pattern)
意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换. 主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护. 何时使用:一个系统有许多许多类,而区分它 ...
- 十一个行为模式之策略模式(Strategy Pattern)
定义: 定义一系列的算法,将每一个算法封装起来,并使它们之间可以相互替换,让算法具有可扩展性和对立性. 结构图: Context:环境类,算法的使用者.对外提供了算法使用的接口,并且持有一个抽象算法类 ...
- 策略模式(strategy pattern)
策略模式在java集合中的TreeSet和TreeMap中得到了很好的应用,我们可以实现Comparator接口实现Compareto()方法来定义自己的排序规则,然后通过TreeSet,TreeMa ...
随机推荐
- 【月末轻松篇】--- 那些奇葩的Bugs
不能说所有的bug都是纸老虎,但往往那种看似很奇葩的bug,导致的原因确实很简单,烦了你一段时间,找到真相又让你忍不住一笑.什么是奇葩的bug呢.我的定义是:代码逻辑都一样,但在A处是好的,到了B处就 ...
- 使用Location对象查询字符串参数
location是BOM中最有用的对象之一: 1.它提供了与当前窗口中加载的文档有关的信息: 2.他还提供了一些导航功能. location对象的属性有: hash, host, hostname, ...
- iOS——Core Animation 知识摘抄(二)
阴影 主要是shadowOpacity .shadowColor.shadowOffset和shadowRadius四个属性 shadowPath属性 我们已经知道图层阴影并不总是方的,而是从图层内容 ...
- 透析Express.js
前言 最近,本屌在试用Node.js,在寻找靠谱web框架时发现了Express.js.Express.js在Node.js社区中是比较出名web框架,而它的定位是“minimal and flexi ...
- Hibernate缓存(转)
来自:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html 一.why(为什么要用Hibernate缓存?) Hibernate是一个 ...
- 微软官网下载windows系统有点全
第一步:访问:https://www.microsoft.com/zh-cn/software-download/windows10ISO/ 默认就只能下载win10,这怎么行呢.巨硬程序员貌似没做服 ...
- 缓存篇(Cache)~第一回 使用static静态成员实现服务器端缓存(导航面包屑)
返回目录 今天写缓存篇的第一篇文章,在写完目录后,得到了一些朋友的关注,这给我之后的写作带来了无穷的力量,在这里,感谢那几位伙伴,哈哈! 书归正传,今天我带来一个Static静态成员的缓存,其实它也不 ...
- Dapper sql in
应用场景: 使用 sql的 Case When Then 批量更新某张表,底层数据库用到了Dapper 代码示例: public int UpdateClientReceivedResult(Dict ...
- JS util
一.返回上一页(history) 发觉有两种用法: 1.javascript:history.back(-1); 2.javascript:history.go(-1); 它们俩的区别是: histo ...
- 【转】Spring MVC中Session的正确用法之我见
Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...