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

做微信商城网站哪家好wordpress 目录结构

做微信商城网站哪家好,wordpress 目录结构,在线生成logo图标免费,现代装修风格效果图一、设计模式概念 设计模式是被广泛使用的软件开发中的一种解决方案#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/693313/

相关文章:

  • 莒县做网站的公司设计师网站模版
  • 顺德顺的网站建设备份的网站建设方案书
  • 如何做网站广告山东电商网站建设
  • 新手建什么网站赚钱吗WordPress搜狗不收录
  • 石家庄招聘哪个网站做的好网站设计建设公司服务商
  • 建设公司网站大概需要多少钱建站平台和网站开发的区别
  • 淄川区住房和城乡建设局网站门户网站模板源码下载
  • 室内设计公司 网站建设建站塔山双喜
  • 网站建设属于什么经营范围销售网站开发业务
  • 企业建站系统平台优秀网站作品截图
  • 杭州品牌网站制作wordpress多域名移动主题
  • 北京网站网站建设icp备案 网站备案
  • 长春网站公司哪家好电子商务网站建设作文
  • 网站开发php程序员网上店铺怎么运营
  • mip网站怎么做匹配h5婚纱摄影网站模板
  • 怎么注册建设公司网站域名历史价格查询
  • 爱站网seo工具包互联网软件开发工程师
  • 百度站长工具平台登录郑州seo规则
  • 财税公司做网站精品建站教程
  • 建设区块链网站区块链开发平台有哪些
  • 青年人爱看的网站ie显示wordpress网页不完整
  • 优惠券推广网站怎么做青岛正规网站建设哪家便宜
  • 怎么搞一个服务器建设网站wordpress页眉编辑
  • 计算机企业网站建设论文流量平台是什么意思
  • 成都建设网站公司哪家好上海有名的广告公司
  • 收录优美图片找不到了整站seo优化一般多少钱
  • 大型网站建设哪家好汉川网页设计
  • 深圳品牌策划公司推荐南昌网站怎么做seo
  • 滨州做微商城网站备案时暂时关闭网站
  • 手机网站样式代码网站是怎样制作的