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

天津狐臭在哪里做津门网站I企业网站建设兴田德润很赞

天津狐臭在哪里做津门网站I,企业网站建设兴田德润很赞,开发网站的经济可行性,关于宠物的网站模板1. 电话虫 在海贼中,有一种神奇的通信工具叫做电话虫(Den Den Mushi),外形如蜗牛,身上带有斑点或条纹或通体纯色,壳顶上有对讲机或按键,不接通时会睡觉,接通时会惊醒,并发…

1. 电话虫

        在海贼中,有一种神奇的通信工具叫做电话虫(Den Den Mushi),外形如蜗牛,身上带有斑点或条纹或通体纯色,壳顶上有对讲机或按键,不接通时会睡觉,接通时会惊醒,并发出“波噜波噜”的声音,在通话时电话虫的嘴巴会如同讲话人的嘴巴一样动,也有人的感情听得懂人类说话,工作原理是将人的声音转化为电话虫的声音进行长距离传接,经作者尾田荣一郎在SBS上证实这是自然生长的一种虫。

        
        如果拥有了属于对方的电话虫,不论彼此相隔有多远都可以进行时时通信,通过电话虫除了可以听到对方的声音,还能看到对方的表情,妥妥的一个代理人。在设计模式中有一种模式叫做代理模式,代理模式和电话虫差不多,都是为其他对象提供一种代理,以控制对这个对象的访问。

生活中关于代理的例子也有很多,比如:

  • 通过信用卡、微信、支付宝等代替现金支付
  • 开发一套对接数据库服务器的接口并提供给客户使用,用于提高服务器的访问效率
  • 跑腿小哥代替大聪明给异地的女盆友送花。
  • 通过VPN架梯子访问外网。

2. 解构电话虫

如果我们想要用代理模式来描述一下电话虫的行为,里边有如下几个细节:

  1. 说话的人是一个对象,电话虫也是一个对象,电话虫模拟的是说话的人
  2. 说话的人和电话虫有相同的行为,所以需要为二者提供一个抽象类
  3. 电话虫是在为说话的人办事,所以电话虫和说话人应该有关联关系。

根据上面的描述,先把对应的UML类图画一下:

由于电话虫类和讲话者类不是部分与整体的关系,所以这二者的关系是关联关系。

3. 通话

根据上面的UML类图,先把通话的抽象类定义出来:

// 抽象通信类
class Communication
{
public:virtual void communicate() = 0; // 通话virtual ~Communication() {}
};

 然后在根据这个抽象类,派生出两个子类:讲话者类和电话虫类:

// 讲话的人
class Speaker : public Communication
{
public:void communicate() override{cout << "开始说话..." << endl;cout << "通话时发生了一些列的表情变化..." << endl;}
};// 电话虫
class DenDenMushi : public Communication
{
public:DenDenMushi(){m_isStart = true;m_speaker = new Speaker;}~DenDenMushi(){if (m_speaker != nullptr){delete m_speaker;}}// 判断是否已经开始通话了bool isStart(){return m_isStart;}void communicate() override{if (isStart()){// 得到通话者语言和表情信息, 并加以模仿cout << "电话虫开始实时模仿通话者的语言和表情..." << endl;m_speaker->communicate();}}
private:bool m_isStart = false;Speaker* m_speaker = nullptr;
};

海贼官方给出的电话虫的名字叫做DenDenMushi,所以电话虫类也以此命名。

在代理类也就是电话虫类中,一般都会判断是否允许代理(对应示例程序中的isStart(),表示通话对否开始了),如果允许则通过被代理的对象m_speaker,调用它的操作函数communicate() 。

最后是测试代码:

int main()
{// 直接交流Communication* comm = new Speaker;comm->communicate();delete comm;cout << "===================================" << endl;// 使用电话虫comm = new DenDenMushi;comm->communicate();delete comm;return 0;
}

        上面的测试程序中一共使用了两种方式进行通信,第二种使用的是代理模式,我们可以在代理类中有效的管理被代理的对象的工作的时机,但是并没有改变被代理的对象的行为。


原文链接: https://subingwen.cn/design-patterns/proxy/#3-%E9%80%9A%E8%AF%9D

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

相关文章:

  • ts431p 做网站沈阳蓝德网站建设
  • 苏州做手机网站网站的技术建设
  • 学生组织网站建设做网站开发的提成多少钱
  • 营销网站建设与推广方案做资源下载网站好吗
  • 东莞材料网站建设wordpress用户登录后
  • 双语网站建设网站建设的实验的结论
  • 冷色调网站wordpress模板媒体
  • 文山做网站yunling88运城网站制作路90
  • 杭州公司注销网站备案视频网站建设解决方案
  • 手机网站 广告郑州seo使用教程
  • 北京建站报价软件 开发公司
  • 怎么把在微企点做响应式网站中国建筑英才网官网
  • 网站开发怎么接单房地网站制作
  • 江苏省网站建设哪家好平台网站做数据维护需要多久
  • 梁山做网站价格微信h5页面制作免费
  • 家居企业网站建设策划做实体店优惠券的网站
  • 上海短视频seo优化网站软文推广的好处
  • 河南网站建设电话漳州网站建设多少钱
  • ps怎么做网站的广告条jsp项目个人网站开发
  • 良乡网站建设营销策划经典案例
  • 网站备案客户资料手机版网站开发html5
  • 小学学校网站模板免费下载中国十大保险经纪公司排名
  • 网站开发用技术wordpress被百度搜到
  • 阿里巴巴的关联网站国外云服务器厂商
  • 专业餐饮网站建设wordpress 识别二维码
  • 网站制作哪家便宜建立网站的软件下载
  • 湖北网站建设哪家好网站建设預算
  • 最好的网站建设推广学做小程序需要哪些基础
  • 网站制作设计发展前景温州网站建设wmwl
  • 微网站建设使用程序巢湖网站建设电话