出行选择
尽量选择步行或骑行,短途出行是很好的选择。 #生活常识# #日常生活小窍门# #出行建议# #城市交通绕行策略#
首先来看看什么是策略模式?它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。看完定义,自己就知道了它和算法家族有着千丝万缕的关系,让算法独立于使用它的客户而变化,也成为策略模式(对象行为型模式)。
看商场促销模式,有打折,八折,五折,还有返利等等促销方式,每一种方式都可以成为一种策略,我们可以根据环境或者条件的不同来选择不同的策略来完成该项任务(一种任务往往有多种不同的方式供选择),如春季正是旅游的季节,外出到底该乘坐什么出行工具呢?这就可以有多种选择:
只是在附近的公园逛逛的的话可以骑自行车;再远点的话可以乘坐火车;如果想去云南见识见识那美丽的香格里拉的话,为了时间关系,则可以乘坐飞机享受一番。我们则根据自己的需要来选择适合的出行工具,结构图如下:
相关代码如下:
<span style="font-family:SimHei;font-size:18px;"><strong>namespace 出行工具
{
class Program
{
static void Main(string[] args)
{
People riding;
riding = new People(new Bicycle());
riding.Travel();
riding = new People(new Train());
riding.Travel();
riding = new People(new Airplane());
riding.Travel();
Console.Read();
}
}
abstract class means
{
public abstract void ride();
}
class Bicycle:means
{
public override void ride()
{
Console.WriteLine("乘自行车");
}
}
class Train:means
{
public override void ride()
{
Console.WriteLine("乘火车");
}
}
class Airplane:means
{
public override void ride()
{
Console.WriteLine("乘飞机");
}
}
class People
{
means riding;
public People (means ride)
{
this.riding = ride;
}
public void Travel()
{
riding.ride();
}
}
}</strong></span>
其实自己举得这个出行的例子和那个商场促销是同一个模型,其实策略模式就是一种定义一系列算法的方法,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。
由于他们完成的都是相同的工作,所以可以得到策略模式的一个主要优点就是“开闭原则”的完美支持,在不修改原有系统的基础上可以更换算法或者增加新的算法,提高了代码的复用性,是一种替换继承,避免多重条件转移语句的实现方式。
策略模式真的是很神奇啊!相信在以后的学习过程中会遇到与他相似的模式,很是期待啊!
2014-10-14,与状态模式的关系:
如果仔细看会发现其实两个关系除了类图雷同之外,没有什么主要的联系,两者最大的区别就是策略模式通常会控制自己的对象使用什么策略,只是选择其中之一而已。而状态模式则是利用许多不同的状态对象通过对象的周期时间进行来该变自己的状态!所以说他们两者就像双胞胎一样,纵然长得一样,但是每个人都有着每个人的性格和爱好!也就是他们的意图是十分不同的。
转载于:https://www.cnblogs.com/huohuoL/p/10545599.html
网址:出行选择 https://www.yuejiaxmz.com/news/view/277423
相关内容
外出时,建议选择绿色出行!几种旅游出行方式选择
日常选择的出行方式是()
低碳出行。尽量选择公...
低碳出行是指通过选择...
提供丰富出行选择(来论)
如何在交通规划中选择合适的出行方式?这些选择如何提升出行效率?
选择出行,让城市生活更美好
如何在城市交通中选择合适的出行方式?这些选择如何提升出行效率?
旅游交通出行方式选择行为研究