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

seo网站优化快速排名软件比较有名的个人网站

seo网站优化快速排名软件,比较有名的个人网站,集团门户网站建设不足,社交网站建设网站文章目录 模式介绍优缺点适用场景案例实现 模式介绍 迭代器模式是一种行为模式,它提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,不需要知道集合对象的底层表示,即:不暴露其内部的结构。 如果我们的集合元…

文章目录

  • 模式介绍
  • 优缺点
  • 适用场景
  • 案例实现


模式介绍

迭代器模式是一种行为模式,它提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,不需要知道集合对象的底层表示,即:不暴露其内部的结构

如果我们的集合元素是用不同的方式实现的,有数组,还有java的集合类,或者还有其他方式,当客户端要遍历这些集合元素的时候就要使用多种遍历方式(不统一),而且还会暴露元素的内部结构,就可以考虑使用迭代器模式解决。


优缺点

1、优点:

  • 支持多种遍历方式: 不同的迭代器可以定义不同的遍历方式;
  • 简化聚合类: 在原有的聚合对象中不需要再自行提供数据遍历等方法;
  • 隐藏了聚合的内部结构: 客户端要遍历聚合的时候只能取到迭代器,而不会知道聚合的具体组成;
  • 扩展性: 由于引入了抽象层,增加新的聚合类和迭代器类都很方便,无须修改原有代码,满足 “开闭原则” 的要求。

2、缺点:

  • 增加了类的个数,这在一定程度上增加了系统的复杂性。

适用场景

  • 当需要为聚合对象提供多种遍历方式时。
  • 当需要为遍历不同的聚合结构提供一个统一的接口时。
  • 当访问一个聚合对象的内容而无须暴露其内部细节的表示时。

案例实现

定义一个可以存储学生对象的容器对象,将遍历该容器的功能交由迭代器实现【抽象迭代器角色我们用JAVA内置的实现】

UML:
在这里插入图片描述
【抽象聚合角色】:

public interface StudentAggregate {//添加学生功能void addStudent(Student student);//获取迭代器对象功能Iterator getStudentIterator();
}

【具体聚合角色】:

public class StudentAggregateImpl implements StudentAggregate {private List<Student> list = new ArrayList<>();  // 学生列表@Overridepublic void addStudent(Student student) {this.list.add(student);}@Overridepublic Iterator<Student> getStudentIterator() {return new StudentIteratorImpl(list);}
}

【具体迭代器角色】:

public class StudentIteratorImpl implements Iterator<Student>{private List<Student> list;private int position = 0;public StudentIteratorImpl(List<Student> list) {this.list = list;}@Overridepublic boolean hasNext() {return position < list.size();}@Overridepublic Student next() {Student currentStudent = list.get(position);position ++;return currentStudent;}
}

测试:

public class Client {public static void main(String[] args) {StudentAggregateImpl aggregate = new StudentAggregateImpl();aggregate.addStudent(new Student("张三", "001"));aggregate.addStudent(new Student("李四", "002"));aggregate.addStudent(new Student("王五", "003"));aggregate.addStudent(new Student("赵六", "004"));aggregate.addStudent(new Student("田七", "005"));Iterator<Student> iterator = aggregate.getStudentIterator();while (iterator.hasNext()){Student student = iterator.next();System.out.println(student);}}
}

在这里插入图片描述

http://www.dtcms.com/wzjs/264341.html

相关文章:

  • 山西省新农村建设网站知乎seo排名的搜软件
  • 上海加盟网网站建设太原搜索引擎优化
  • 长沙制作手机网站的公司2024年新闻摘抄
  • 顺德网站建设基本流程网站关键词优化推广哪家快
  • 诸暨做网站公司快速排名优化推广价格
  • 南京定制网站建设怎么收费百度识图在线网页版
  • 电脑安装不了wordpress上海百度推广优化
  • 行政审批局政务服务网站建设情况网络营销推广渠道
  • 东营微信开发网站建设网络广告投放方案
  • 网站建设还好做吗app营销策划方案
  • 类似凡科网的网站seo搜索引擎优化工程师招聘
  • 做展会怎么引流到自己的网站百度指数查询
  • 万网站建设seow
  • 公关公司如何处理危机谷歌seo视频教程
  • 北京朝阳双桥网站建设seo自然排名
  • php动态网站开发概念windows优化大师官方
  • wordpress换网址知乎关键词排名优化
  • 做网站傻瓜软件网站推广哪个好
  • 给有后台的网站做网页百度搜索引擎优化公司哪家强
  • 自己怎样做公司广告视频网站爱网站关键词查询工具长尾
  • 做网站公司(深圳信科)网站seo方案案例
  • Wordpress搜索html页面专业排名优化工具
  • wordpress建哪些网站网站自己推广
  • 杭州如何设计网站首页网站seo搜索引擎的原理是什么
  • 龙岗网站制作新闻石家庄疫情最新情况
  • 调兵山 网站建设网络营销服务公司
  • 重庆南川网站制作公司哪家好制作一个网站大概需要多少钱
  • 卢氏县住房和城乡建设局网站怎么查询最新网站
  • 东莞正规的企业网站设计多少钱百度帐号登录
  • 手机软件下载网站wap模板专业网站优化外包