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

视频直播网站建设方案wordpress表格线

视频直播网站建设方案,wordpress表格线,wordpress选择php,游戏网站设计一、设计模式概念 设计模式是被广泛使用的软件开发中的一种解决方案#xff0c;它提供了一套被验证过的、可重用的设计思想#xff0c;帮助开发人员更加高效地开发出可维护、易扩展的软件系统。 设计模式可以分为三类#xff1a;创建型模式、结构型模式和行为型模式。 1.1…一、设计模式概念 设计模式是被广泛使用的软件开发中的一种解决方案它提供了一套被验证过的、可重用的设计思想帮助开发人员更加高效地开发出可维护、易扩展的软件系统。 设计模式可以分为三类创建型模式、结构型模式和行为型模式。 1.1 创建型模式 创建型模式用于描述对象的创建过程它的目的是封装对象的创建过程从而降低系统的耦合度并且能够更加灵活地创建对象。创建型模式包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式等。 1.2 结构型模式 结构型模式用于描述如何将类或对象按某种布局组成更大的结构它涉及到接口和类的组合。结构型模式包括适配器模式、桥接模式、组合模式、装饰者模式、外观模式、享元模式和代理模式等。 1.3 行为型模式 结构型模式用于描述如何将类或对象按某种布局组成更大的结构它涉及到接口和类的组合。结构型模式包括适配器模式、桥接模式、组合模式、装饰者模式、外观模式、享元模式和代理模式等。 二、单例模式概念 单例模式是一种创建型设计模式它保证一个类只有一个实例并提供一个全局访问点。 1.将构造函数私有化将类的构造函数设为私有这样外部就无法通过构造函数来创建该类的对象。 2.提供一个静态成员变量来保存唯一实例在该类中定义一个静态成员变量用于保存该类的唯一实例。 3.提供一个静态方法来获取唯一实例在该类中定义一个静态方法用于获取该类的唯一实例。在该方法中判断静态成员变量是否为空如果为空则创建一个新的对象并赋值给静态成员变量然后返回该静态成员变量。 4.禁止复制构造函数和赋值运算符为了避免从已有对象派生出新的对象需要将复制构造函数和赋值运算符定义为私有或删除函数。 通过上述方法可以使单例类只有一个对象全局只有一个实例对象存在通过静态接口来获取该实例 2.1 饿汉模式 饿汉模式就像有种饿叫做你妈妈/奶奶觉得你饿不管你真饿假饿 我都把饭给你做好饿汉模式也一样我直接把单例对象给你初始化好完了你直接用就可以了 代码示例 class Singleton { public:static Singleton* getInstance() { //获取单例对象的静态接口return instance;} private:static Singleton* instance;//静态对象Singleton() {}//构造、拷贝构造、赋值设置为私有Singleton(const Singleton) delete;Singleton operator(const Singleton) delete; };Singleton* Singleton::instance new Singleton(); //类加载之后就直接初始化饿汉模式2.2 懒汉模式 懒汉模式就是比较懒有人要获取单例对象我才来实例化踢一脚走一步的那种 代码示例 class Singleton { public:static Singleton* getInstance() { //获取单例对象的静态接口if (instance nullptr)//如果单例对象没有初始化则进行初始化{instance new Singleton();}return instance;} private:static Singleton* instance;//静态对象Singleton() {}//构造、拷贝构造、赋值设置为私有Singleton(const Singleton) delete;Singleton operator(const Singleton) delete; }; Singleton*Singleton::instance nullptr; //初始化为 nullptr有了代码那当然要试一试单例模式怎么玩验证一下是不是真的只有一个单例对象 可以看到单例对象是唯一的 2.3 单例模式验证测试 2.3.1 饿汉模式 代码示例 #includeiostream using namespace std;class Singleton { public:static Singleton* getInstance() { //获取单例对象的静态接口return instance;}void Print(){cout hello world endl;} private:static Singleton* instance;//静态对象Singleton() {}//构造、拷贝构造、赋值设置为私有Singleton(const Singleton) delete;Singleton operator(const Singleton) delete; };Singleton* Singleton::instance new Singleton(); //类加载之后就直接初始化饿汉模式 int main() {//1.构造对象试试Singleton sin;//报错构造函数私有化无法在类外实例化出对象return 0; }那么如何去调用这个单例类里面的方法呢 //调用静态方法获取单例对象(单例对象指针) 然后调用单例类中的成员函数 Singleton::getInstance()-Print();运行结果 三、单例模式是线程安全的吗 我们考虑这样一个场景两个线程懒汉模式下同时去获取这个单例对象那么在获取单例对象之前都是nullptr 那么都会同时去 new 一个单例对象导致会创建多个单例对象那么就无法实现单例模式单例对象唯一的特点 我们可以通过加锁来解决该问题 #include mutexclass Singleton { private:static Singleton* instance;static std::mutex mtx;Singleton() {}public:static Singleton* getInstance() {if (instance nullptr) { // 第一次检查是否为空std::lock_guardstd::mutex lock(mtx); // 加锁保证线程安全if (instance nullptr) { // 第二次检查是否为空instance new Singleton();}}return instance;}// 禁止拷贝构造函数和赋值运算符Singleton(const Singleton) delete;Singleton operator(const Singleton) delete; };Singleton* Singleton::instance nullptr; std::mutex Singleton::mtx; 当然了 饿汉模式是线程安全的因为单例类对象在类加载完就进行了实例化通过静态接口获取单例对象时直接获取即可无需初始化。
http://www.w-s-a.com/news/383136/

相关文章:

  • 做网站前需要做什么准备wordpress图片云储存
  • 查楼盘剩余房源的网站地方网站推广
  • 农家乐网站建设方案创意平面设计公司简介
  • 信息化建设 网站作用网络营销的形式网站营销
  • 沈阳出名网站潍坊正规建设网站
  • 计算机软件开发需要学什么沈阳网站关键字优化
  • 关于军队建设网站国内最好的wordpress主题
  • 小视频网站如何建设陪诊app开发
  • 英文网站首页优化国外手机网站源码
  • 网站建设公司如何找客户网站建设应该考虑哪些问题
  • 创新的江苏网站建设wordpress用户绑定手机
  • 自己做网赌网站网站设计者
  • 教育培训网站设计辽宁招标工程信息网
  • 韶关网站推广做网站要哪些人员
  • 建设银行网站链接开发公司与物业公司交接清单
  • 网站定位广告企业建网站有这个必要吗
  • 网站模板 商标黄冈建设工程信息网
  • 做鞋子的招聘网站有哪些微网站
  • 项目网站开发建网站 多少钱
  • wordpress做门户seo培训价格
  • 百度关键词优化软件如何wordpress站点地图优化
  • 使用cnnic证书的网站营销公司有哪些
  • 做电子杂志用什么网站如何将网站生成二维码
  • 三点水网站建设洛阳市建设厅网站
  • 哪家做网站便宜网络推广培训吧
  • 网站怎么做支付非凡软件站
  • 北京谁会做网站开发熊岳网站怎么做
  • 南阳哪有做网站公司定制网站本地企业
  • 平板上做网站的软件邀约网站怎么做请柬
  • 企业网站成品源码邯郸做网站流程