当前位置: 首页 > news >正文

广州正规的网站建设全网营销的公司

广州正规的网站建设,全网营销的公司,青柠海报设计网站,体育器材网站建设方案Unity实现设计模式——策略模式 策略模式是一种定义一些列算法的方法,这些所有的算法都是完成相同的工作,只是实现不同。它可以通过相同的方式调用所有的算法,减少各种算法类与使用算法类之间的耦合。 策略模式的 Strategy 类层次为 Contex…

Unity实现设计模式——策略模式

策略模式是一种定义一些列算法的方法,这些所有的算法都是完成相同的工作,只是实现不同。它可以通过相同的方式调用所有的算法,减少各种算法类与使用算法类之间的耦合。

策略模式的 Strategy 类层次为 Context 定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。

策略模式就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性。

需要注意的是策略模式与工厂模式的区别
简单工厂模式下,产品类(父类)里包含了产品的属性,所以每个具体产品(子类)也就包含了同样的属性。
策略模式下,策略类(父类)里只提供了虚方法,并没有包含属性,所以每个具体的算法有自己独立的属性。

在这里插入图片描述
下面使用对于一个结构进行排序的例子来演示

1.SortStrategy(The ‘Strategy’ abstract class)

    abstract class SortStrategy{public abstract void Sort(List<string> list);}

2.派生类

(1)QuickSort

    class QuickSort : SortStrategy{public override void Sort(List<string> list){list.Sort(); // Default is QuicksortDebug.Log("-------QuickSorted list------- ");}}

(2)ShellSort

    class ShellSort : SortStrategy{public override void Sort(List<string> list){//list.ShellSort(); not-implementedDebug.Log("-------ShellSorted list------- ");}}

(3)MergeSort

    class MergeSort : SortStrategy{public override void Sort(List<string> list){//list.MergeSort(); not-implementedDebug.Log("-------MergeSorted list------- ");}}

3.SortedList(The ‘Context’ class)

    class SortedList{private List<string> _list = new List<string>();private SortStrategy _sortstrategy;public void SetSortStrategy(SortStrategy sortstrategy){this._sortstrategy = sortstrategy;}public void Add(string name){_list.Add(name);}public void Sort(){_sortstrategy.Sort(_list);// Iterate over list and display resultsforeach (string name in _list){Debug.Log(" " + name);}}}

4.测试

    public class StrategyPatternExample1 : MonoBehaviour{void Start(){// Two contexts following different strategiesSortedList studentRecords = new SortedList();studentRecords.Add("Samual");studentRecords.Add("Jimmy");studentRecords.Add("Sandra");studentRecords.Add("Vivek");studentRecords.Add("Anna");studentRecords.SetSortStrategy(new QuickSort());studentRecords.Sort();studentRecords.SetSortStrategy(new ShellSort());studentRecords.Sort();studentRecords.SetSortStrategy(new MergeSort());studentRecords.Sort();}}
http://www.ds6.com.cn/news/48547.html

相关文章:

  • 服装鞋帽 网站建设seo网站培训班
  • 承德吧关键词优化价格表
  • 哪个网站可以做公众号封面长沙百度开户
  • 企业网站开发实训总结友情链接交换统计表
  • 长沙专业网站制作黄冈便宜的网站推广怎么做
  • html5做静态网站电商培训基地
  • 网站是哪个公司做上海百度关键词优化公司
  • 广州b2b网站建设做网站流程
  • 网站栏目类型女装关键词排名
  • 电商网站建设方案PPT成人职业技术培训学校
  • 郴州网签查询seo平台是什么意思
  • wordpress修改发布页面插件吉林关键词排名优化软件
  • 顺德网站建设哪家好优化建站
  • 网站默认图外贸网站营销推广
  • 模板网站建站aso平台
  • 更合高明网站建设关键词排名优化工具有用吗
  • 网站建设公司招聘优秀网站网页设计分析
  • 微网站用什么软件做百度快照的作用是什么
  • wordpress n点资讯主题seo文章代写平台
  • 网站开发+兼职项目谷歌sem
  • 天津做网站seo的湖南网络推广机构
  • 商业规划设计公司单页网站怎么优化
  • 腾讯云主机做网站最好的seo外包
  • 网站建设费用表知乎关键词排名优化工具
  • b2c网站策划书高州网站seo
  • 资讯网站做app一键搭建网站
  • 哪个网站做推销产品全球疫情最新数据统计
  • 免费广州网站开发维护万能的搜索引擎
  • 宁波正规网站建设使用方法百度爱采购
  • 怎么做一家网站河北百度推广电话