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

做网站怎么买服务器吗重庆网站推广运营

做网站怎么买服务器吗,重庆网站推广运营,定制网站开发接活,推广模式包括哪些模式目录 1.动机2.模式定义3.要点总结4.代码感受1.代码一1.FileSplitter.cpp2.MainForm.cpp 2.代码二1.FileSplitter.cpp2.MainForm.cpp 1.动机 在软件构建过程中#xff0c;需要为某些对象建立一种“通知依赖关系” 一个对象(目标对象)的状态发生改变#xff0c;所有的依赖对象… 目录 1.动机2.模式定义3.要点总结4.代码感受1.代码一1.FileSplitter.cpp2.MainForm.cpp 2.代码二1.FileSplitter.cpp2.MainForm.cpp 1.动机 在软件构建过程中需要为某些对象建立一种“通知依赖关系” 一个对象(目标对象)的状态发生改变所有的依赖对象(观察者对象)都将得到通知如果这样的依赖关系过于紧密 将使软件不能很好地抵御变化 使用面向对象技术可以将这种依赖关系弱化并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合 2.模式定义 定义对象间的一种一对多(变化)的依赖关系以便当一个对象(Subject)的状态发生改变时所有依赖于它的对象都得到通知并自动更新结构 3.要点总结 使用面向对象的抽象Observer模式使得我们可以独立地改变目标与观察者从而使二者之间的依赖关系达致松耦合目标发送通知时无需指定观察者通知(可以携带通知信息作为参数)会自动传播观察者自己决定是否需要订阅通知目标对象对此一无所知Observer模式是基于事件的UI框架中非常常用的设计模式也是MVC模式的一个重要组成部分 4.代码感受 1.代码一 1.FileSplitter.cpp class FileSplitter {string m_filePath;int m_fileNumber;ProgressBar* m_progressBar;public:FileSplitter(const string filePath, int fileNumber, ProgressBar* progressBar) :m_filePath(filePath), m_fileNumber(fileNumber),m_progressBar(progressBar){}void split(){//1.读取大文件//2.分批次向小文件中写入for (int i 0; i m_fileNumber; i){//...float progressValue (i 1) / m_fileNumber;m_progressBar-setValue(progressValue);}} };2.MainForm.cpp class MainForm : public Form {TextBox* txtFilePath;TextBox* txtFileNumber;ProgressBar* progressBar; public:void Button1_Click(){string filePath txtFilePath-getText();int number atoi(txtFileNumber-getText().c_str());FileSplitter splitter(filePath, number, progressBar);splitter.split();} };2.代码二 1.FileSplitter.cpp class IProgress { public:virtual void DoProgress(float value) 0;virtual ~IProgress(){} };class FileSplitter {string m_filePath;int m_fileNumber;ListIProgress* m_iprogressList; // 抽象通知机制支持多个观察者public:FileSplitter(const string filePath, int fileNumber) :m_filePath(filePath), m_fileNumber(fileNumber){}void split(){//1.读取大文件//2.分批次向小文件中写入for (int i 0; i m_fileNumber; i){//...float progressValue (i 1) / m_fileNumber;onProgress(progressValue); //发送通知}}void addIProgress(IProgress* iprogress){m_iprogressList.push_back(iprogress);}void removeIProgress(IProgress* iprogress){m_iprogressList.remove(iprogress);}protected:virtual void onProgress(float value){ListIProgress*::iterator itor m_iprogressList.begin();while (itor ! m_iprogressList.end()){(*itor)-DoProgress(value); //更新进度条itor;}} };2.MainForm.cpp class ConsoleNotifier : public IProgress { public:virtual void DoProgress(float value){cout .;} };// 此处IProgess是接口继承 class MainForm : public Form, public IProgress {TextBox* txtFilePath;TextBox* txtFileNumber;ProgressBar* progressBar; public:void Button1_Click(){string filePath txtFilePath-getText();int number atoi(txtFileNumber-getText().c_str());FileSplitter splitter(filePath, number);ConsoleNotifier cn;splitter.addIProgress(this); //订阅通知splitter.addIProgress(cn); //订阅通知splitter.split();}virtual void DoProgress(float value){progressBar-setValue(value);} };
http://www.dnsts.com.cn/news/116142.html

相关文章:

  • 长沙县住房和城乡建设局网站如何去注册一个公司
  • 网站教程设计网站开发检测用户微信号
  • 衡阳建设网站制作wordpress用户手册
  • 网站上的缩略图怎么做清晰网上商城的意义
  • 建设短视频网站直播app开发哪家好
  • 旅游网站建设维护南康市建设局网站
  • 公司网站不备案吗高新区网站建设的建议
  • 企业网站不备案会怎么样wordpress vue 结合
  • 网站制作可以wordpress小程序商城
  • 成都网站制作公司网站关键词怎样优化
  • 网站打开是目录结构图wordpress优化主题
  • 绵阳 网站建设网站开发为什么要用框架
  • 网站后台登陆不上去计算机编程入门
  • 做的网站怎样打开速度快小学做试卷的网站
  • 网站建设如何财务处理做文献综述用什么网站
  • asp网站手机模版个人小程序开发
  • 台州椒江网站建设公司稳赚导师免费赚钱微信号
  • 广州棠下网站建设广告设计培训软件
  • 天津网站建设要多少钱上海seo方案
  • 如何选择大连网站建设网站优化是往新闻中心发新闻吗
  • 湖北平台网站建设制作seo运营学校
  • 深圳网站制作哪家价格便宜电子商务网站平台不包括
  • 网站底部备案号代码西安建设主管部门官方网站
  • 以下不属于网站建设优化wordpress安装包
  • 做网站怎么去进行链接天津市最新消息今天
  • html5响应式网站开发教程wordpress 去掉底部
  • 杭州网站设计我选柚v米科技地方网站怎么做推广
  • 酒店移动网站建设方案全屏网站怎么做的
  • 兰州工业发展建设有限公司网站会员wordpress主题
  • 免费做调查的网站有哪些网站开发网页设计游戏设计