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

速成网站建设南京小程序建设公司

速成网站建设,南京小程序建设公司,万网域名的优势,网站建设php带数据库模板Unity实现设计模式——策略模式 策略模式是一种定义一些列算法的方法#xff0c;这些所有的算法都是完成相同的工作#xff0c;只是实现不同。它可以通过相同的方式调用所有的算法#xff0c;减少各种算法类与使用算法类之间的耦合。 策略模式的 Strategy 类层次为 Contex…Unity实现设计模式——策略模式 策略模式是一种定义一些列算法的方法这些所有的算法都是完成相同的工作只是实现不同。它可以通过相同的方式调用所有的算法减少各种算法类与使用算法类之间的耦合。 策略模式的 Strategy 类层次为 Context 定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。 策略模式就是用来封装算法的但在实践中我们发现可以用它来封装几乎任何类型的规则只要在分析过程中听到需要在不同时间应用不同的业务规则就可以考虑使用策略模式处理这种变化的可能性。 需要注意的是策略模式与工厂模式的区别 简单工厂模式下产品类父类里包含了产品的属性所以每个具体产品子类也就包含了同样的属性。 策略模式下策略类父类里只提供了虚方法并没有包含属性所以每个具体的算法有自己独立的属性。 下面使用对于一个结构进行排序的例子来演示 1.SortStrategyThe ‘Strategy’ abstract class abstract class SortStrategy{public abstract void Sort(Liststring list);}2.派生类 1QuickSort class QuickSort : SortStrategy{public override void Sort(Liststring list){list.Sort(); // Default is QuicksortDebug.Log(-------QuickSorted list------- );}}2ShellSort class ShellSort : SortStrategy{public override void Sort(Liststring list){//list.ShellSort(); not-implementedDebug.Log(-------ShellSorted list------- );}}3MergeSort class MergeSort : SortStrategy{public override void Sort(Liststring list){//list.MergeSort(); not-implementedDebug.Log(-------MergeSorted list------- );}}3.SortedListThe ‘Context’ class class SortedList{private Liststring _list new Liststring();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.pierceye.com/news/237716/

相关文章:

  • 网站上的动效是用ae做的网站开发实训小结
  • wordpress建站怎么上传网站没有备案信息该怎么做
  • 沈阳网站推广有什么技巧软件开发工具通常也称为什么工具
  • 黑龙江龙采做网站如何网站建设制作解决方案
  • 百度推广自己做网站吗网页设计软件下载网站
  • wordpress内核源码分析南宁网站优化推广
  • 物流网站做那个好服务器怎么安装WordPress
  • 网站开发怎么兼容浏览器中国优秀设计网站有哪些内容
  • 黄冈网站官方登录平台做网站的条件
  • 潍坊网站建设推广公司网站建设类的手机软件
  • 建设小学网站建设网站代理
  • 怎么查看网站根目录网站建设费记什么科目
  • 文昌市规划建设管理局网站网站与个人网站
  • 昆明网站建设推荐q479185700上墙现在最火的推广平台有哪些
  • 长兴县城乡建设局网站wordpress的留言功能
  • 建设企业网站地址asp.net 4.0网站开...
  • 制作个人网站步骤提升学历励志语录
  • 福州建站服务管理页面布局标准格式
  • 做一个公司网站一般需要多少钱营销型网站功能表
  • 为什么菜市场不可以做网站河南阿里巴巴网站建设
  • asp.net动态的网站开发手机海报制作免费软件
  • 网站建设前准备龙岗网站优化公司案例
  • 做流量哪个网站好滨州j建设局网站投诉电话
  • 空白网站怎么建wordpress 邮箱订阅
  • 乡镇网站建设自查报告做企业门户网站要准备哪些内容
  • 百度做推广一般要多少钱相城seo网站优化软件
  • 博客和网站的区别贵阳网站推广优化公司
  • 专业做公司网站的机构时彩网站开发
  • 网站 建设设计深圳网站建设交易
  • 网站建设氵金手指下拉十二网页设计有啥教程