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

临沂市建设安全管理网站在哪个网站注册域名好

临沂市建设安全管理网站,在哪个网站注册域名好,成都网站建设益友网络,高端网络公司网站源码设计模式 目的 实现可重用解决方案,构筑易维护、可扩展的软件系统。 六大原则 单一职责: 类的职责单一,一个方法做一件事。 开闭原则: 拓展开放,修改关闭。 里氏替换: 父类能出现的地方,子…

设计模式

目的

实现可重用解决方案,构筑易维护、可扩展的软件系统。

六大原则

单一职责: 类的职责单一,一个方法做一件事。

开闭原则: 拓展开放,修改关闭。

里氏替换: 父类能出现的地方,子类可以替换。子类必须全部实现父类方法,尽量不暴露自己public方法供外界使用。覆盖或实现父类方法时,输入参数可以多。

依赖倒置: 模块之间的依赖通过抽象发生,具体类之间不依赖。每个类尽量有抽象类,任何类不应该从具体类派生,尽量不重写基类方法。

迪米特法则: 尽量减少对象间交互,从而减少类间耦合。

接口隔离原则: 类间的依赖关系建立在最小的接口上。

抽象构建框架,实现拓展细节。

单例模式

一个类只有一个对象,及系统中只有一个实例,实例被所有程序模块共享。

例如服务器配置信息放在一个文件中,配置数据由单例对象统一读取,服务进程的其他对象通过单例对象获取配置信息。

实现

有饿汉模式和懒汉模式两种实现模式。

饿汉模式

程序启动就创建唯一实例对象。

多线程获取单例对象不需要加锁。

#include <iostream>
#include <string>class Singleton {
private:// 私有构造函数,防止外部创建实例Singleton() : data("Singleton") {std::cout << "Singleton instance created!" << std::endl;}// 私有析构函数,防止外部删除实例~Singleton() {}// 删除拷贝构造函数和赋值运算符Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;// 静态成员变量,类加载时初始化static Singleton instance;// 成员变量std::string data;public:// 获取单例对象的静态方法static Singleton& getInstance() {return instance;}// 获取成员变量的方法std::string& getData() {return data;}
};// 在类外初始化静态成员变量
Singleton Singleton::instance;int main() {// 获取单例对象Singleton& singleton = Singleton::getInstance();// 访问单例对象的成员变量std::cout << "Data: " << singleton.getData() << std::endl;// 再次获取单例对象,验证是否为同一个实例Singleton& singleton2 = Singleton::getInstance();if (&singleton == &singleton2) {std::cout << "Both references point to the same instance!" << std::endl;}return 0;
}

懒汉模式

如果单例对象构造特别耗时或者耗资(加载插件、网络),可在第一次使用时才创建对象。

C++11 之后,局部静态变量的初始化是线程安全的,因此可以直接使用局部静态变量实现懒汉模式

#include <iostream>
#include <string>class Singleton {
private:// 私有构造函数,防止外部创建实例Singleton() : data("Singleton") {std::cout << "Singleton instance created!" << std::endl;}// 私有析构函数,防止外部删除实例~Singleton() {}// 删除拷贝构造函数和赋值运算符Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;// 成员变量std::string data;public:// 获取单例对象的静态方法static Singleton& getInstance() {static Singleton instance;  // 局部静态变量,线程安全return instance;}// 获取成员变量的方法std::string& getData() {return data;}
};int main() {// 获取单例对象Singleton& singleton = Singleton::getInstance();// 访问单例对象的成员变量std::cout << "Data: " << singleton.getData() << std::endl;// 再次获取单例对象,验证是否为同一个实例Singleton& singleton2 = Singleton::getInstance();if (&singleton == &singleton2) {std::cout << "Both references point to the same instance!" << std::endl;}return 0;
}

推荐一下

https://github.com/0voice

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

相关文章:

  • 电子商务网站购物流程图做h5那个网站好
  • 现在都是用什么做网站网店代运营怎么做
  • 广东建设信息网站塔吊查询使用云主机做网站教程
  • 免费网站流量统计织梦网站程序模板下载地址
  • 浅谈博物馆网站建设意义带导航栏的网站
  • 怎么样自己制作网站图片设计公司
  • 织梦新闻门户网站模板 原创精品重庆网站建设建站收费
  • 企业内部系统网站制作住房公积金个体工商户
  • 东莞 网站制作专业做房地产网站建设
  • 网站建设客户确认单校园网络工程设计方案
  • 大连网站怎么推广黑龙江省住房和城乡建设厅网站
  • 中企动力网站怎么样最专业的网站建设组织
  • 欧美建设网站柳州洛维建设网站
  • dw制作网站模板seo比较好的优化方法
  • 网站设计建设流程图seo网站关键字优化
  • 滨州网站建设公司电话网站还没完成 能备案吗
  • 打码网站怎么做长春做网站的公司哪家好
  • 医院网站建设策划案模板网站建设一条龙怎么样
  • 设计配色的网站上海大型广告公司
  • 旅游网站模板 手机网站制作价
  • 网站建设对旅游意义wordpress页首文件
  • 企业 办公 网站模板下载做网站免费模板怎么上传到空间
  • 娄底网站开发做网站外包创业
  • 东莞网站建设 牛魔网专做服装的网站
  • 校园门户网站建设方案做网站的计划概要
  • 城乡与建设厅网站足球做网站首页格局
  • asp.net 网站后台管理系统制作设置一个网站到期页面
  • 网站建设必须安装程序宁波网站设计价格
  • 医院网站设计方案网页是什么
  • 房地产网站建设方案苏州建设交通高等职业技术学校网站