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

网站的建设及发布步骤网站建设与维护是什么内容?

网站的建设及发布步骤,网站建设与维护是什么内容?,设备网站建设,专业提供深圳网站设计公司迭代器模式 介绍 设计模式定义案例迭代器模式行为型:关注对象与行为的分离 提供了一种统一的方式来访问多个不同的集合两个集合:使用了不同的数据存储方式 学生 和 警察 查询显示出集合的内容 ,使用相同的代码 问题堆积在哪里解决办法不同…

迭代器模式

介绍

设计模式定义案例
迭代器模式行为型:关注对象与行为的分离
提供了一种统一的方式来访问多个不同的集合
两个集合:使用了不同的数据存储方式
学生 和 警察

查询显示出集合的内容 ,使用相同的代码
问题堆积在哪里解决办法
不同的存储方式

统一集合查询代码
1 统一出一个存储方式
2 设计一个查询基类来统一查询代码
3 每个集合提供
  1 统一存储方式,
  2 一个查询实现(接口迭代器的实现)

类图

代码

interface BaseIterator<T>

/// <summary>
/// 迭代器基类
/// </summary>
public interface BaseIterator<T>
{// 当前T Current();// 下一个bool MoveNext();// 重新开始void Reset();
}

IteratorPolice 

using System.Collections.Generic;public class IteratorPolice : BaseIterator<People>
{// 列表List<People> listPeople = null;// 下标int currentIndex = -1;  IteratorPolice() { }public IteratorPolice(List<People> list){listPeople = list;}public People Current(){if (null == listPeople)return null;if (listPeople.Count < currentIndex)return null;return listPeople[currentIndex];}public bool MoveNext(){if (null == listPeople)return false;if (listPeople.Count > ++currentIndex)return true;return false;}public void Reset(){currentIndex = -1;}
}

IteratorStudent 


using System.Collections.Generic;public class IteratorStudent : BaseIterator<People>
{// 列表List<People> listPeople = null;// 下标int currentIndex = -1;IteratorStudent() { }public IteratorStudent(List<People> list){listPeople = list;}public People Current(){if (null == listPeople)return null;if (listPeople.Count < currentIndex)return null;return listPeople[currentIndex];}public bool MoveNext(){if (null == listPeople)return false;if (listPeople.Count > ++currentIndex)return true;return false;}public void Reset(){currentIndex = -1;}}

People


public class People
{public string name;public int age;public bool married;
}

StudentList

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class StudentList
{private List<People> list = new List<People>();private People[] studentList = new People[3];public StudentList(){People p1 = new People(){name = "WH",age = 15,married = false};studentList[0] = p1;People p2 = new People(){name = "QT",age = 16,married = false};studentList[1] = p2;People p3 = new People(){name = "YY",age = 15,married = false};studentList[2] = p3;for (int i = 0; i < studentList.Length; i++){list.Add(studentList[i]);}}public BaseIterator<People> GetIterator(){return new IteratorStudent(list);}
}

PoliceList


using System.Collections.Generic;public class PoliceList
{private List<People> list = new List<People>();public PoliceList(){People p1 = new People(){name = "WangQiang",age = 23,married = false};list.Add(p1);People p2 = new People(){name = "ZhangQiang",age = 30,married = true};list.Add(p2);People p3 = new People(){name = "LingQiang",age = 31,married = true};list.Add(p3);}public BaseIterator<People> GetIterator(){return new IteratorPolice(list); }
}

测试代码

using UnityEngine;public class TestDDQ : MonoBehaviour
{void Start(){{PoliceList pl = new PoliceList();BaseIterator<People> iterator = pl.GetIterator();while (iterator.MoveNext()){People p1 = iterator.Current();Debug.Log("姓名:" + p1.name + "   年龄:" + p1.age + "   是否结婚:" + p1.married + " ");}}Debug.Log("------------------------------------------------------------------");{StudentList pl = new StudentList();BaseIterator<People> iterator = pl.GetIterator();while (iterator.MoveNext()){People p1 = iterator.Current();Debug.Log("姓名:" + p1.name + "   年龄:" + p1.age + "   是否结婚:" + p1.married + " ");}}}
}

结果

总结

迭代器模式统一集合查询代码,以这个为目标进现优化总结出的一个经验。

还是为了更深刻的理解设计原理和优化手段。

http://www.yayakq.cn/news/220240/

相关文章:

  • 宁城县建设局网站青海西宁网站开发公司
  • 江西省楚天建设集团有限公司网站长春vi设计公司
  • 一个网站如何推广域名权重查询工具
  • 品牌管理公司网站建设深圳龙岗网络公司
  • 网站开发要花多少钱安徽省建设工程
  • 个人设计网站论文摘要专业建模的三维扫描仪
  • 杭州建设公司网站商务网站建设论文
  • 网站网页压缩网站前台修改后台对接不上
  • 网站设计论文前言怎么写网页设计欣赏英文
  • 网站制作学什么网站用图片做背景图片
  • 一个网址多少钱php网站好做seo
  • 河北网站开发多少钱天津百度推广公司
  • 珠海 旅游 网站建设免手机微网站
  • deals网站建设黄山旅游攻略ppt
  • 最好的手机网站建设wordpress能导入多少产品
  • 网站进度条特效魅族的网站建设与安全
  • 官网定制公司企业网站seo实
  • 企业网站管理系统论文云计算网络架构包括哪些域
  • 网站建设php心得体会手机导航下载2022新版
  • 做合约交易哪个网站好电子商务专业就业方向及就业前景
  • 苏州专业网站制作方案网络营销平台
  • 外贸免费开发网站模板富库网站建设
  • 素材网站会员银川建设厅网站
  • 网站开发工程师岗位职责农八师建设兵团社保网站
  • 重庆网站建站系统平台济源做网站的公司
  • 网站建设的审批网站开发公司徐州
  • .tel域名能存放网站吗网站管理员在哪里
  • 龙井网站建设二级医院网站建设的方案
  • 网站建设要不要工商注册电脑系统优化工具
  • 徐州网站优化企业网站建设代码