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

多站点cmsps做网站视图大小

多站点cms,ps做网站视图大小,公司网站规划,金融公司做网站域名作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、代理模式是什么? 代理模式是一种结构型的软件设计模式,在不改变原代码前提下,提供一个代理…

作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

一、代理模式是什么?

       代理模式是一种结构型的软件设计模式,在不改变原代码前提下,提供一个代理,以控制对原对象的访问。

       代理模式的优点:

  1. 职责清晰。真实对象专注于自身业务逻辑,不用考虑其他非本职内容,交给代理完成。
  2. 高拓展性。真实对象的改变不影响代理。
  3. 解耦。将客户端与真实对象分离,降低系统耦合度。
  4. 提高性能。虚拟代理可以减少系统资源的消耗。
  5. 高安全性和稳定性。代理能很好地控制访问,提高程序安全。

      代理模式的缺点:

  1. 增加系统复杂度。代理的职责往往较冗杂。
  2. 请求速度降低。客户端与真实对象中加入代理,一定程度上会降低整个系统流程的运行效率。

二、代理模式

2.1 结构图

       客户端即Main主函数,本文示例中代理添加了额外功能-充值,因此客户端直接调用代理。

2.2 代码示例

       场景描述:游戏往往有自己的代理商,想要玩魔兽,需要和其代理进行沟通,在进行充值后,正常游戏。

//Game.h
/****************************************************/
#pragma once
#include <iostream>using namespace std;#include <iostream>
using namespace std;// 抽象游戏类
class Game 
{
public:// 游戏加载virtual void load() = 0;// 游戏退出virtual void exit() = 0;
};// 真实游戏类-魔兽世界
class WOW : public Game 
{
public:// 游戏加载virtual void load() {cout << "魔兽世界加载。" << endl;}// 游戏退出virtual void exit() {cout << "魔兽世界退出。" << endl;}
};// 代理类-魔兽代理
class ProxyWOW : public Game 
{
public:// 构造函数ProxyWOW() {m_wow = new WOW();}// 析构函数virtual ~ProxyWOW() {if (m_wow != nullptr) {delete m_wow;m_wow = nullptr;}}// 充值时间void recharge(int money) {m_time += money / 100;cout << "充值:" << money << endl;cout << "获得时长:" << m_time << endl;}// 游戏加载virtual void load() {cout << "代理启动。" << endl;if (m_time > 0) {m_wow->load();cout << "游戏时长1小时。" << endl;m_time -= 1;cout << "剩余时长:" << m_time << endl;flag = true;}else {cout << "剩余游戏时长不足,请充值。" << endl;flag = false;}}// 游戏退出virtual void exit() {if (flag) {m_wow->exit();flag = false;}cout << "代理关闭。" << endl;}private:bool flag = false;int m_time = 0;WOW* m_wow;
};
//main.cpp
/****************************************************/
#include <iostream>
#include <string>
#include "Subject.h"using namespace std;int main()
{// 玩魔兽ProxyWOW* proxy = new ProxyWOW();// 加载proxy->load();// 充值proxy->recharge(1000);// 加载proxy->load();// 退出proxy->exit();// 清理内存delete proxy;proxy = nullptr;return 0;}

       程序结果如下。

       本文提供的示例是游戏方面的,玩大型网络游戏往往都要通过代理的平台,所以我模拟了一个简易的充值和游戏流程。代理在生活中随处可见,各种中介服务就是代理的一种;在网络应用中代理也很常见,如服务器代理等等。

三、总结

       我尽可能用较通俗的话语和直观的代码例程,来表述我对代理模式的理解,或许有考虑不周到的地方,如果你有不同看法欢迎评论区交流!希望我举的例子能帮助你更好地理解代理模式。

       如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

http://www.yayakq.cn/news/981164/

相关文章:

  • 做响应式网站价格深圳专门做兼职的网站
  • 深圳建设材料价格网站网页制作素材1001无标题
  • 江苏省数字文化馆网站建设wordpress 4.1.1漏洞
  • 公众号的微网站怎么做电子商务就业前景
  • 旧电脑做php网站服务器怎么登录小程序平台
  • 福田建网站费用网络营销发展方案策划书
  • 怎么设网站苏州城乡住房建设局网站
  • 百度移动网站排名龙岗网站制作设计
  • 建设一个网站的文案需要精品课程网站建设步骤
  • 长沙做网站的公司有哪些陕西省建设监理协会网站
  • 正能量网站入口做网站价格
  • 哪个网站做衣服的如何加强精神文明网站建设内容
  • 一条龙搭建网站可商用的图片素材网站
  • 哪个网站可以做会计试题开发一个进销存app需要多少钱
  • 网站无法打开的原因重庆大渡口网站建设
  • 个人免费自助建站公司网站用个人备案可以
  • 温州市建设小学网站想学做电商怎么入手
  • 注册送38元的游戏网站wordpress简体中文
  • 做网站 需求怎么写做网站推荐源创网络
  • 毕设做网站类型东莞最新招聘
  • 临时网站搭建网站功能开发
  • 网站模板 知乎网站怎么发布信息
  • 免费网站空间php深圳设计公司名称
  • 提供网站制作公司报价扬州网站建设小程序
  • 网站建设优化是什么鬼?赣州建设工程信息网
  • 我的网站设计联盟网站建设属于哪个税收服务编码
  • 公司网站建设方案汇报电商产品营销推广
  • 网络推广方法技巧南宁关键词排名优化外包
  • 建立一个网店网站wordpress手机app编辑文章
  • 网站链接失效怎么做室内设计资源网