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

网站直播怎么做seo是什么意思的缩写

网站直播怎么做,seo是什么意思的缩写,wap医院网站建设,什么平台可以免费打广告3. 观察者模式(也叫做观察者-监听者模式,发布-订阅模式) 主要关注对象的一对多关系,也就是多个对象都依赖于一个对象,当该对象状态改变时,其余对象都能得到对应的通知 如:一组数据(数…


3. 观察者模式(也叫做观察者-监听者模式,发布-订阅模式)
主要关注对象的一对多关系,也就是多个对象都依赖于一个对象,当该对象状态改变时,其余对象都能得到对应的通知
如:一组数据(数据对象)->曲线图,柱状图,圆饼图
主题有更改,应该及时通知相应观察者去处理相应的事件

class Observer
{
public:
    //处理消息接口
    virtual void handle(int msgid) = 0;
};

class Observer1
{
public:
    //处理消息接口
    void handle(int msgid)
    {
        switch(msgid)
        {
        case 1:
            cout<<"get 1"<<endl;
            break;
        case 2:
            cout<<"get 2"<<endl;
            break;
        default:
            cout<<"get error"<<endl;
            break;
        }
    }
};

class Observer2
{
public:
    //处理消息接口
    void handle(int msgid)
    {
        switch(msgid)
        {
        case 2:
            cout<<"get 2"<<endl;
            break;
        default:
            cout<<"get error"<<endl;
            break;
        }
    }
};

class Subject
{
public:    
    //添加对应观察者
    void addObserver(Observer* obser,int msgid)
    {
        _subMap[msgid].push_back(obser);
    }
    //通知观察者
    void dispatch(int msg)
    {
        auto it = _subMap.find(msgid);
        if(it != _subMap.end())
        {
            for(Observer *pObser:it->second)
            {
                pObser->handle(msgid):
            }
        }
    }
private:
    //前面的int代表消息id,后面表示对其感兴趣的观察者列表
    unordered_map<int,list<Observer*>> _subMap;
};

观察者模式实际上就是创建一个主题类,然后当有消息来到的时候,主题负责通知各个观察者,也就是函数调用


4.代理Proxy模式:通过代理类来控制实际对象的访问权限
客户  助理Proxy  老板:委托类

//下面为一个案例,将视频分为Vip和免费,不同身份可以获取的视频不同
class VideoSite
{
    virtual void freeMovie() = 0;//免费电影
    virtual void vipMovie() = 0;//vip电影
};
//这个是我们的网站,实现看vip电影和free电影,也就是我们的委托类
class FixBugVideoSite: public Video Site
{
public:
    virtual void freeMovie()
    {
        cout<<"see free"<<endl;
    }
    virtual void vipMovie()
    {
        cout<<"see vip"<<endl;
    }
};

//下面就是我们免费电影的代理
class FreeVideoSiteProxy : public VideoSite
{
public:
    FreeVideoSiteProxy()
    {
        pVideo = new FixBugVideoSite();
    }
    ~ FreeVideoSiteProxy()
    {
        delete pVideo;
    }
    
    virtual void freeMovie() 
    {
        pVideo->freeMovie();//通过代理对象的freeMovie,来访问真正委托类对象的freeMovie
    }
    virtual void vipMovie() 
    {
        cout<<"你没充钱,不让你访问";
    }


private:
    VideoSite *pVideo;
};

实际上上述代理模式的原理在于创建一个代理类,在代理类中定义委托类指针,不同的代理类指行不同的函数
基类指针指向代理类对象,都使用基类指针保证安全

5.适配器模式
让不兼容的接口可以一起工作
示例
电脑 -> 投影 ->投影仪 
VGA HDMI Typec 有这三种接口
如果VGA的电脑,投影仪也是VGA,那么就不需要转换
class VGA
{
public:
    virtual void play() = 0;
    string getType() const{return "VGA";}
};

//这个就是支持VGA接口的投影仪
class TV01 : public VGA
{
public:
    void play()
    {
        cout<<"VGA接口"<<endl;
    }
};

//这个就是支持VGA接口的电脑
class Computer : public VGA
{
public:
    void playVedio(VGA *pVGA)
    {
        pVGA->play();
    }
};
//这时候有一批新的投影仪,只支持HDMI接口
class HDMI
{
public:
    virtual void play() = 0;
};
class TV02 : public HDMI
{
public:
    void play()
    {
        cout<<"HDMI接口"<<endl;
    }
};
此时你使用电脑连接新的投影仪,无法连接

换一个电脑:代码重构
但是实际上很难去重构
方法2:买一个转换头,转换信号:也就是适配器类

class VGAtoHDMI : public VGA
{
public:
    VGAtoHDMI(HDMI *p):phdmi(p){};
    void play()//该方法相当于转换头,做信号转换的
    {
        phdmi->play():
    }
private:
    HDMI *phdmi;
};

这个适配器模式实际上就是重写了老接口的函数,转为新接口的函数,就是更换组件


6.装饰器模式
和代理模式非常接近,主要是增加现有类的功能
 

http://www.dtcms.com/wzjs/812516.html

相关文章:

  • wordpress用法手机网站如何优化
  • 外贸网站建设需要多少钱手机网站解析
  • 为什么自己做的网站老是404错误wordpress除了写博客
  • 景德镇做网站竞品网站分析
  • 昆山网站设计公司软件制作下载
  • 主流建站开源程序有哪些毕设做网站有什么题目
  • 郑州哪些公司做网站比较好佛山市品牌网站建设公司
  • 建立主题网站的一般步骤私密浏览器免费版图片
  • 网页兼容性 网站开发wordpress 视频 播放
  • 南宁太阳能网站建设网络公司网站设计
  • 个人做淘宝客网站有哪些wordpress移动端菜单栏
  • 微网站特点装修案例文案
  • 网站文章更新时间个人博客网站总结
  • 安阳如何优化网站百度贴吧网页入口
  • 建设部标准定额司网站wordpress做手机版
  • 网站中的二级菜单怎么做23免费一级域名注册教程
  • 网站开发和游戏开发哪个好高清短视频素材库无水印
  • 新网站前期如何做seowordpress博客统计
  • 马云的网站是谁建设的wordpress发不了博文
  • 网站网站做代理赚钱吗百度指数教程
  • 上线了免费建网站做网站一定要代码吗
  • 物流网站源代码怎样制作自己店铺的小程序
  • 玉环做企业网站公司怎么建立自己网站
  • 山西网站建设方案什么平台
  • 计算机网站设计嘉兴做网站公司哪家好
  • 查询网站备案密码是什么怎么才能让自己做的网站上传到百度搜关键字可以搜到
  • 做视频投稿赚钱的网站好加工网套
  • 网页界面设计的英文缩写郑州seo技术服务
  • 域名可以自己注册吗网站地图seo
  • 企业网站源码搜一品资源网wordpress文章两端对齐