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

东莞seo优化收费网页关键词优化软件

东莞seo优化收费,网页关键词优化软件,seo高清视频教程,网站开发完要过审是啥意思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.dt0577.cn/news/26356.html

相关文章:

  • 阿里云企业网站建设教程产品推广策划
  • html5国外网站模板html源码下载seo云优化公司
  • 毕业设计做音乐网站培训管理平台
  • 南昌高端网站开发费用表站长交流平台
  • 如何搭建网络教学平台seo关键词优化方法
  • 上海php网站开发公司宁德市教育局官网
  • asp.net动态网站建设课程描述软件发布网
  • 做餐饮加盟的网站建设友情链接站长平台
  • 做网站推广需要什么专业百度q3财报减亏170亿
  • 物业公司网站模板英语培训机构
  • 哈尔滨做网站找哪家好招商外包
  • 网站建设公司有多少百度引流推广怎么做
  • 苏州市住房和城乡建设局网站首页搜索推广营销
  • 中装建设集团官网推推蛙贴吧优化
  • 玩具网站建设服务公司广告资源对接平台
  • 推广网站和品牌网站的区别优化seo厂家
  • 深圳做网站哪个好商务网站如何推广
  • 什么行业做网站搜索友情链接网站大全
  • 快速做网站套餐seo排名啥意思
  • wordpress建站上传不了图片百度问答优化
  • 哪家公司做网站结算好网页制作平台有哪些
  • 网站开发公司怎么做账百度推广费用怎么算
  • 深圳网站建设公司公司竞价网
  • 大庆做网站比较好的公司西安计算机培训机构排名前十
  • 上传网站模板怎么让网站被百度收录
  • 谁知道深圳松岗天桥旁的网站建设想要推广页
  • 国税网站建设现状百合seo培训
  • 怎么注册一个网站做色流百度广告推广怎么收费了
  • 网站设计和备案企业seo顾问服务
  • 白杨seo教程汕头seo公司