c#设计模式之迭代器模式
来源:互联网 发布:linux apache是否启动 编辑:程序博客网 时间:2024/06/12 19:34
迭代器模式()Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示
using System;public interface IIterator{ bool MoveNext(); Object CurrentItem(); void First(); void Next();}public interface IList{ IIterator GetIterator();}public class ConcreteIterator : IIterator{ private ConcreteList list; private int index; public ConcreteIterator(ConcreteList list) { this.list = list; index = 0; } public bool MoveNext() { if (index < list.Length) { return true; } else { return false; } } public Object CurrentItem() { return list.GetElement(index); } public void First() { index = 0; } public void Next() { if (index < list.Length) { ++index; } }}public class ConcreteList : IList{ int[] list; public ConcreteList() { list = new int[] { 1, 2, 3, 4, 5 }; } public IIterator GetIterator() { return new ConcreteIterator(this); } public int Length { get { return list.Length; } } public int GetElement(int index) { return list[index]; }}class Program{ static void Main(string[] args) { IList list = new ConcreteList(); IIterator iterator = list.GetIterator(); while (iterator.MoveNext()) { int i = (int)iterator.CurrentItem(); Console.WriteLine(i.ToString()); iterator.Next(); } Console.ReadKey(); }}
阅读全文
0 0
- c#设计模式之迭代器模式
- 【C#设计模式-迭代器模式】
- C#设计模式之Observer设计模式(观察者设计模式)
- C#设计模式之迭代器模式示例代码
- C#设计模式之17——迭代器模式
- C#设计模式之迭代器模式(Iterator Pattern)
- C# 设计模式 之 适配器模式(Adapter)
- C# 设计模式 之 桥接模式
- C# 设计模式 之 抽象工厂模式
- C# 设计模式之生成器模式
- C# 设计模式之单件模式
- C# 设计模式之观察者模式
- C#设计模式之简单工厂模式
- C#设计模式之抽象工厂模式
- c# 设计模式之单件模式
- c#设计模式之[工厂模式]
- c#设计模式之[单体模式]
- c#设计模式之[外观模式]
- 树莓派设置24小时温度记录
- 黑马12期 day73-EasyUI笔记(2017年7月11日16:17:56)
- oracle在linux下的安装出现的小问题
- MYSQL语句大全
- 调用face++平台api进行人脸识别
- c#设计模式之迭代器模式
- 数据库锁机制
- 【Unity】关于unity项目导成这种exe之后,Debug的输出日志在哪里查看
- SpringIOC
- 实习报告二
- JSON快速入门之GSON
- 压缩图片并根据图片md5 存储的一种优化解决方案
- 多核编程中伪共享问题(false sharing)
- 阿里巴巴2016 实习生招聘 练习题(一)