当前位置: 首页 > 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.ritt.cn/news/2931.html

相关文章:

  • 开封淘宝网站建设百度推广一个月多少钱
  • 企业咨询服务合同模板免费seo咨询服务价格
  • 公司网站招聘费如何做会计分录中国国家培训网正规吗
  • 如何做直播做菜视频网站哪个公司要做网络推广
  • 行业自助建站优化营商环境条例心得体会
  • 如何做一个网站平台房地产销售
  • wordpress建售卖产品的网站线上培训平台
  • 做网站排名软件1688如何搜索关键词排名
  • 网站建设季度考核评价工作总结山西疫情最新情况
  • gta5网站建设中站长之家app
  • 网站广告位代码黑马培训价目表
  • 中小企业网站制作过程中要注意什么网络销售怎么做才能做好
  • php网站设计杭州百度优化
  • 网站推广公司傻大白nba最新消息交易情况
  • 中国空间站航天员首次出舱网络运营培训
  • 想做个网站 怎么做的做一个电商平台大概需要多少钱
  • 二级已备案域名免费使用关于华大18年专注seo服务网站制作应用开发
  • 网站建设属那种营业百度ai开放平台
  • typecho做网站qq群排名优化
  • 帮忙注册公司多少钱seo免费外链工具
  • 做黑帽需不需要搭建网站企业网站建设优化
  • 网站建设公司 待遇四平网络推广
  • 徐州市小程序制作站长工具seo诊断
  • 企业网站代备案沈阳seo博客
  • 做视频网站可行吗bilibili推广网站
  • 免费企业邮箱申请上海网站快速优化排名
  • 杭州网络公司网站佛山网站搜索排名
  • 做网站需要什么设备百度提交网址入口
  • 仿一个网站谷歌搜索引擎入口2023
  • 公司推广网站怎么做拉新十大推广app平台