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

兰州优化网站公司所有网站都能进的浏览器

兰州优化网站公司,所有网站都能进的浏览器,赛门仕博做网站怎么样,十大经典事件营销案例定义 将对象组合成树形结构以表示部分-整体’的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性(稳定)。 应用场景 在软件在某些情况下#xff0c;客户代码过多地依赖于对象容器复杂的内部实现结构#xff0c;对象容器内部实现结构(而非抽象接口)的变化…定义 将对象组合成树形结构以表示部分-整体’的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性(稳定)。 应用场景 在软件在某些情况下客户代码过多地依赖于对象容器复杂的内部实现结构对象容器内部实现结构(而非抽象接口)的变化将引起客户代码的频繁变化带来了代码的维护性、扩展性等弊端。如何将“客户代码与复杂的对象容器结构”解耦?让对象容器自己来实现自身的复杂结构从而使得客户代码就像处理简单对象-样来处理复杂的对象容器? 结构 代码示例 //Composite.h /****************************************************/ #ifndef COMPOSITE_H #define COMPOSITE_H #include iostream #include listusing namespace std;// 抽象类-节点 class Node { public:// 构造函数explicit Node(string name) :m_name(name) {};// 析构函数virtual ~Node() {};// 添加virtual void add(Node *node) {};// 删除virtual void remove(Node *node) {};// 显示virtual void show(int space) {for (int i 0; i space; i) {cout ;}cout m_name endl;}protected:string m_name; // 名字 };// 具体类-Word文件 class WordFile :public Node { public:// 构造函数explicit WordFile(string name) :Node(name) {};// 析构函数virtual ~WordFile() {};};// 具体类-文件夹 class Folder :public Node { public:// 构造函数explicit Folder(string name) :Node(name) {};// 析构函数virtual ~Folder() {nodeList.clear();}// 添加virtual void add(Node *node) {nodeList.emplace_back(node);}// 删除virtual void remove(Node *node) {nodeList.remove(node);}// 显示virtual void show(int space) {Node::show(space);space;for (auto node : nodeList) {node-show(space);}}private:listNode* nodeList; // 节点列表 };#endif//test.cpp /****************************************************/ #include Composite.hint main() {Node *f0 new Folder(我的文件夹);// 文件夹1中放入Word2和Word3并将文件夹1放入我的文件夹Node *f1 new Folder(文件夹1);Node *w2 new WordFile(Word2);Node *w3 new WordFile(Word3);f1-add(w2);f1-add(w3);f0-add(f1);// 将Word1放入我的文件夹Node *w1 new WordFile(Word1);f0-add(w1);// 显示我的文件夹中的内容f0-show(0);// 删除文件夹1中的Word2文件再次显示我的文件夹中的内容f1-remove(w2);f0-show(0);// 删除指针并置空delete f0, f1, w1, w2, w3;f0 nullptr;f1 nullptr;w1 nullptr;w2 nullptr;w3 nullptr;return 0; }运行结果 要点总结 Composite模式采用树形结构来实现普遍存在的对象容器,从而将“一对多”的关系转化为“一对一”的关系使得客户代码可以一致地(复用)处理对象和对象容器无需关心处理的是单个的对象还是组合的对象容器。将“客户代码与复杂的对象容器结构”解耦是Composite的核心思想解耦之后客户代码将与纯粹的抽象接口一而非 对象容器的内部实现结构一发生依赖 从而更能“应对变化”。Composite模式在具体实现中可以让父对象中的子对象反向追溯;如果父对象有频繁的遍历需求可使用缓存技巧来改善效率。
http://www.ho-use.cn/article/10823824.html

相关文章:

  • 营销网站方案设计北碚区网络营销推广公司
  • 建筑公司网站图片天眼查公司查询
  • 企业网站提供商wordpress主题太大
  • 广西医科大学网站建设仙居网站建设贴吧
  • 形容网站开发的词分享类网站源码
  • 南开网站建设公司怎么建好网站
  • aspnet网站开发实例wordpress模板是什么
  • wordpress没法做大网站wordpress怎么上传图片
  • 长沙网站空间合肥网站建设求职简历
  • 成都网站建设前50强网页版微信登录显示二维码失效
  • 怎么建立视频网站wordpress企业网站开发
  • 四川微信网站建设推西部数据网站空间
  • 同类色相的网站网站开发项目建设经验
  • 织梦网站模板还原的文件在哪里软件开发公司好的有哪些
  • 做网站策划薪酬韩国最新新闻消息
  • 房地产公司 网站建设七牛云免费服务器
  • 网站关键词分析网络营销方式方法
  • 便利的微网站建设企业建网站设计
  • react做的电商网站能上线吗格尔木市公司网站建设
  • 中国工程建设监理网站wordpress主题合并
  • 微网站的制作过程重庆找工作哪个网站好
  • 京东电子商务网站建设目的贵阳做网站需要多少钱
  • 网站建设先学什么厦门建设银行官方网站
  • 什么时候能用ipv6做网站模具 东莞网站建设
  • 毕业设计 网站建设选题厦门 网站建设 公司
  • 做学徒哪个网站好企业oa网站建设方案
  • 深圳手机网站建设报价微信公众开放平台
  • 沈阳建网站的公司赞助网站怎么做
  • 家具网站建设的前景分析网络品牌推广ppt
  • 网站建设 睿达科滁州做网站