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

网站头部怎样做有气势网站的要素是什么

网站头部怎样做有气势,网站的要素是什么,绍兴免费网站建站模板,安徽安搜做的网站怎么样介绍 代理模式是给某一个对象提供一个代理#xff0c;并由代理对象控制对原对象的引用。代理模式是一种对象结构型模式。 实现 myclass.h // // Created by yuwp on 2024/1/12. //#ifndef DESIGNPATTERNS_MYCLASS_H #define DESIGNPATTERNS_MYCLASS_H#include iostream并由代理对象控制对原对象的引用。代理模式是一种对象结构型模式。 实现 myclass.h // // Created by yuwp on 2024/1/12. //#ifndef DESIGNPATTERNS_MYCLASS_H #define DESIGNPATTERNS_MYCLASS_H#include iostream #include unordered_mapclass Subject { // 抽象主题角色 public:virtual void request() 0; };class Proxy : public Subject { // 代理主题角色 public:Proxy();~Proxy();void request() override;void preRequest();void postRequest(); private:Subject *m_real; };class RealSubject : public Subject { public:void request() override; };#endif //DESIGNPATTERNS_MYCLASS_Hmyclass.cpp // // Created by yuwp on 2024/1/12. //#include myclass.hProxy::Proxy() {m_real new RealSubject(); }Proxy::~Proxy() {if (m_real) {delete m_real;} }void Proxy::request() {if (m_real) {preRequest();m_real-request();postRequest();} }void Proxy::preRequest() {std::cout 代理请求准备工作 std::endl; }void Proxy::postRequest() {std::cout 代理结束收尾工作 std::endl; }void RealSubject::request() {std::cout 被代理的请求 std::endl; }main.cpp #include iostream #include mutex #include myclass.hint main() {Subject *proxy new Proxy();proxy-request();delete proxy;return 0; } 总结 优点 1. 代理模式能够协调调用者和被调用者在一定程度上降低了系统的耦合度满足迪米特法则。 2. 客户端可以针对抽象主题角色进行编程增加和更换代理类无须修改源代码符合开闭原则系统具有较好的灵活性和可扩展性。 3. 远程代理为位于两个不同地址空间对象的访问提供了一种实现机制可以将一些消耗资源较多的对象和操作移至性能更好的计算机上提高系统的整体运行效率。 4. 虚拟代理通过一个消耗资源较少的对象来代表一个消耗资源较多的对象可以在一定程度上节省系统的运行开销。 5. 保护代理可以控制对一个对象的访问权限为不同用户提供不同级别的使用权限。 缺点 1. 由于在客户端和真实主题之间增加了代理对象因此有些类型的代理模式可能会造成请求的处理速度变慢例如保护代理。 2. 实现代理模式需要额外的工作有些代理模式的实现非常复杂例如远程代理。 适用场景 1. 当客户端对象需要访问远程主机中的对象时可以使用远程代理。 2. 当需要用一个消耗资源较少的对象来代表一个消耗资源较多的对象从而降低系统开销、缩短运行时间时可以使用虚拟代理。例如一个对象需要很长时间才能完成加载时。 3. 当需要控制对一个对象的访问为不同用户提供不同级别的访问权限时可以使用保护代理。 4. 当需要为某一个被频繁访问的操作结果提供一个临时存储空间以供多个客户端共享访问这些结果时可以使用缓冲代理。通过缓冲代理系统无须在客户端每次访问时都重新执行操作只需直接从临时缓冲区获取操作结果即可。 5. 当需要为一个对象的访问引用提供一些额外的操作时可以使用智能引用代理。 练习 myclass.h // // Created by yuwp on 2024/1/12. //#ifndef DESIGNPATTERNS_MYCLASS_H #define DESIGNPATTERNS_MYCLASS_H#include iostream #include unordered_map #include atomicclass Subject { // 抽象主题角色 public:virtual void displayUrl(const std::string url) 0;virtual void displayPic(const std::string pic) 0; };class Proxy : public Subject { // 代理主题角色 public:Proxy();~Proxy();void displayUrl(const std::string url) override;void displayPic(const std::string pic) override;private:Subject *m_real; };class RealSubject : public Subject { public:void displayUrl(const std::string url) override;void displayPic(const std::string pic) override;void download(const std::string url);bool isDownloadComplete();private:bool m_isDownloaded; };#endif //DESIGNPATTERNS_MYCLASS_Hmyclass.cpp // // Created by yuwp on 2024/1/12. //#include myclass.h #include thread #include unistd.hProxy::Proxy() {m_real new RealSubject(); }Proxy::~Proxy() {if (m_real) {delete m_real;} }void Proxy::displayUrl(const std::string url) {if (m_real) {new std::thread(Subject::displayUrl, m_real, std::ref(url));}std::cout 显示图片 url std::endl; }void Proxy::displayPic(const std::string pic) {if (m_real) {m_real-displayPic(pic);} }void RealSubject::download(const std::string url) {sleep(10);std::cout url 下载完成 std::endl;m_isDownloaded true; }bool RealSubject::isDownloadComplete() {return m_isDownloaded; }void RealSubject::displayUrl(const std::string url) {download(url); }void RealSubject::displayPic(const std::string pic) {while (!m_isDownloaded) {usleep(100000);}std::cout 显示图片 pic std::endl; }main.cpp #include iostream #include mutex #include myclass.hint main() {Subject *proxy new Proxy();proxy-displayUrl(http://www.123.com/ab.jpg);proxy-displayPic(ab.jpg);delete proxy;return 0; }
http://www.pierceye.com/news/693958/

相关文章:

  • 建设网站类型条形码生成器在线制作图片
  • 邯郸广告公司网站建设seo排名怎么做
  • 大眼睛网站建设做艺术品的网站
  • 自助免费网站建设平台网站开发php还是jsp
  • 网站建设成本多少北京怎么进行网页设计
  • 给个网站做导航违法吗游戏推广员每天做什么
  • 交互式网站开发技术全国企业信用公示信息公示网官网
  • 大连网站设计公司排名班级优化大师的功能有哪些
  • 旅游网站建设的概念ppt模板自己制作
  • 重庆网站建设首选承越网站开发建设方案
  • 创建一个网站的费用网站服务器租用报价
  • 潍坊企化网站建设大型免费网站制作
  • 松原网站制作网页制作的基本步骤流程
  • 太原网站建设制作机构西安网络seo公司
  • 移动网站建设报价表抖音代运营商
  • 镇平县两学一做网站服装网站建设推荐
  • 苏州建网站的公wordpress添加侧栏广告
  • 企业商城网站 .networdpress模板作者怎样去除
  • 强生网站还要怎样做衡水网站推广的网络公司
  • 茂名建站公司南通长城建设集团有限公司网站
  • 网络平台怎么建立网站吗做暧暧视频网站安全吗
  • 免费域名x网站网站前期准备工作
  • 陕西网站建设公司排名智能优化网站
  • 做瞹瞹网站萍乡做网站的公司有哪些
  • 网站建设的类型有几种wordpress搜索返回页面内容
  • 建设网站备案与不备案区别招远建网站首选公司
  • 四川住房和城乡建设厅网站三类人员软文网站备案如何查询
  • 个人与企业签订网站开发合同网页制作教程实例
  • 做网站遇到竞争对手怎么办wordpress中文版邮件发送
  • 美橙互联旗下网站渐变网站