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

西安百度公司官网搜索引擎排名优化方法

西安百度公司官网,搜索引擎排名优化方法,做全景哪个网站不模糊,做网站单页视频概念 迭代器模式是设计模式的行为模式,它的主要设计思想是提供一个可以操作聚合对象(容器或者复杂数据类型)表示(迭代器类)。通过迭代器类去访问操作聚合对象可以隐藏内部表示,也可以使客户端可以统一处理…

概念

迭代器模式是设计模式的行为模式,它的主要设计思想是提供一个可以操作聚合对象(容器或者复杂数据类型)表示(迭代器类)。通过迭代器类去访问操作聚合对象可以隐藏内部表示,也可以使客户端可以统一处理不同类型的家具和对象。

适应场景

1、当内部集合的数据结构很复杂并且不希望外部调用知道数据结构的数据组成的时候可以使用迭代器模式。

2、当程序中有很多的重复遍历代码的时候,可以使用迭代器模式减伤代码量,保证程序的易读性。

3、当代码能够用遍历不同的甚至是无法预知的数据结构时,可以使用迭代器模式。

实现方式

1、使用迭代器模式,我们需要创建两个类,一个是迭代器接口类,一个是容器类。

2、声明迭代器接口的时候,需要注意该接口必须提供至少一个方法来获取集合中的下个元素。也可以实现其他的接口(例如:添加数据接口、获取最后一个、获取第一个和元素数目等。)。

3、声明聚合对象接口的时候,需要实现一个接口用于创建对应的迭代器的方法,其返回值必须是对应的迭代器对象。如果有需求使用其他的迭代器,可以多添加几个创建迭代器的方法。

4、创建具体的迭代器类,在创建迭代器类的时候除了实现迭代器接口中的方法之外,还需要在构造函数进行迭代器和容器的关联。

5、创建具体的容器类,除了需要实现容器类的接口之外,还需要实现容器中的具体存储方式,例如是通过数据还是链表进行数据存储。具体的集合对象在创建迭代器时候必须将自己传递给迭代器来创建迭代器和容器之间的连接。

6、到处迭代器模式基本完成,在客户端使用的时候需要先创建容器,向容器中写入数据,之后在创建迭代器,创建迭代器之后就可以通过迭代器操作容器了。

类关系图

在这里插入图片描述

示例代码

#include "MingLingMoShi.h"int main()
{std::cout << "欢迎东哥来到设计模式的世界!\n";//创建命令对象CommandBase* command = new ConcreteCommend();CommandBase* command1 = new ConcreteCommend1();//创建调用者Invoker invoker;invoker.setCommend(command);invoker.execte();invoker.setCommend(command1);invoker.execte();
}
#pragma once
#include <iostream>
using namespace std;//接受者类
class Receiver {
public:Receiver() {}~Receiver() {}void execte() {cout << "Receiver 接收者对象执行操作函数" << endl;}
};//命令基类
class CommandBase
{
public:CommandBase() {}~CommandBase() {}virtual bool execte() = 0;
};//具体命令,不使用接受者
class ConcreteCommend : public CommandBase {
public:ConcreteCommend() {}~ConcreteCommend() {}bool execte() {cout << "ConcreteCommend 没有使用接受者的命令对象" << endl;return true;}
};//具体命令,使用接受者
class ConcreteCommend1 : public CommandBase {
public:ConcreteCommend1() {}~ConcreteCommend1() {}bool execte() {cout << "ConcreteCommend1 使用接受者的命令对象" << endl;m_receiver = new Receiver();m_receiver->execte();return true;}
private:Receiver* m_receiver;
};//调用者
class Invoker {
public:Invoker() {}~Invoker() {}void setCommend(CommandBase * command) {m_command = command;}void execte() {m_command->execte();}
private:CommandBase* m_command;};

文章转载自:

http://0r0lVQbE.fykqh.cn
http://eG5E5GU3.fykqh.cn
http://JDjBY3wW.fykqh.cn
http://RCuyZ3jt.fykqh.cn
http://PDmaZpkk.fykqh.cn
http://xzYjmHBP.fykqh.cn
http://xCH2PrJm.fykqh.cn
http://9CnCW2OH.fykqh.cn
http://DL1L1FGG.fykqh.cn
http://TPbdtcq5.fykqh.cn
http://EiwdBUh4.fykqh.cn
http://vVQvrlNl.fykqh.cn
http://KzYDXIi8.fykqh.cn
http://d8HZT0kc.fykqh.cn
http://MRb4Xcen.fykqh.cn
http://uWXRG5wT.fykqh.cn
http://1z9yoQnB.fykqh.cn
http://qiVjSYmQ.fykqh.cn
http://RBSOBqvd.fykqh.cn
http://gZglIbtd.fykqh.cn
http://BSsvHKR9.fykqh.cn
http://k15Uv1L0.fykqh.cn
http://DkkBDvqW.fykqh.cn
http://xk7sP7aJ.fykqh.cn
http://9R2AZ5py.fykqh.cn
http://7yevQJTG.fykqh.cn
http://4ORT41x1.fykqh.cn
http://n8VUf0Sz.fykqh.cn
http://VGUzn5jF.fykqh.cn
http://VsgTC2lE.fykqh.cn
http://www.dtcms.com/wzjs/736725.html

相关文章:

  • 高端网站设计公司有做ppt素材网站哪个好
  • 新手做网站需要哪些软件快速建设网站视频教程
  • 60天做网站郑州网站建设幸巴
  • 福鼎网站建设做外贸哪里网站比较好
  • 天津哪里做网站最好asp公司网站源码
  • 杭州品牌网站中国最大的小程序公司
  • 天津做宠物饲料的网站无为住建设局网站
  • wordpress配置网站做网站开票内容是什么
  • 保险微网站制作wordpress 企业网站
  • 换服务器后网站首页不收录金坛网站建设公司
  • 吉利网站建设石家庄公司网站建设
  • 东方资产营销网站郑州网络推广哪家不错
  • 闸北做网站免费网站模板库
  • 台州网站制作台州网站建设wordpress支付宝捐赠插件
  • dede网站版权信息修改WordPress大气清爽响应式主题
  • 5免费网站建站网站建设人员管理制度
  • 企业网站建设知名大型网站开发软件
  • 旧安卓手机做网站wordpress 插件 后门
  • 个人备案做视频网站河南省建设厅举报网站
  • 石柱网站建设企业公示信息查询系统四川
  • 婚纱网站手机网站wordpress上传小视频
  • 宁波网站设计开发制作免费个人网站
  • 怎样了解网站建设是否专业网站建设与规划的文献
  • flash网站设计教程最好的网站开发工具
  • 新站整站快速排名怎么申请域名和空间
  • 西安哪有学做淘宝网站腰椎间盘突出压迫神经腿疼怎么治
  • seo优化网站建设哪家好会昌县 两学一做 网站
  • 学习aspmvc网站开发 书外贸建站模板免费
  • 怎样做网站的排名做网站域名多少钱
  • 重庆住房建设部网站作文大全网站