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

零基础学做网站页关键词优化seo排名

零基础学做网站页,关键词优化seo排名,公众号平台登录,沧州疫情最新政策查询基本概念 工厂模式是一种创建型设计模式,用于将对象的创建逻辑与使用者分离,以实现对象的创建和使用的解耦。工厂模式提供了一个统一的接口来创建对象,而客户端代码只需通过该接口来请求所需的对象,而不需要知道具体的对象创建细…

基本概念

工厂模式是一种创建型设计模式,用于将对象的创建逻辑与使用者分离,以实现对象的创建和使用的解耦。工厂模式提供了一个统一的接口来创建对象,而客户端代码只需通过该接口来请求所需的对象,而不需要知道具体的对象创建细节。

工厂模式的各种部件为:

  • 工厂(Factory):实现了工厂接口,负责创建具体产品的对象。
  • 产品(Product):工厂方法创建的具体实例对象。

使用场景

  • 对象创建逻辑复杂,可能涉及到配置解析、条件判断等逻辑时。

  • 对象类型不明确,对象的具体类型可能在运行时才能确定,例如根据用户的输入或配置来决定创建哪种对象时。

  • 需要隐藏对象创建细节,只暴露一个统一的接口给客户端使用时。

  • 需要扩展对象创建,如果需要向系统中添加新的产品类,而不影响现有代码时。

  • 需要创建的对象具有共同的接口时。                                                                                                                                                                                                            

实现

例子

假设我们有一个形状(Shape)的抽象基类,以及两个具体的形状类:圆形(Circle)和矩形(Rectangle)。创建一个形状工厂(ShapeFactory):

// 抽象基类 Shape
class Shape {
public:virtual void draw() = 0;virtual ~Shape() {}
};// 具体类 Circle
class Circle : public Shape {
public:void draw() override {std::cout << "Drawing Circle" << std::endl;}
};// 具体类 Rectangle
class Rectangle : public Shape {
public:void draw() override {std::cout << "Drawing Rectangle" << std::endl;}
};// 形状工厂类 ShapeFactory
class ShapeFactory {
public:// 根据类型创建相应的形状对象static Shape* createShape(const std::string& type) {if (type == "Circle") {return new Circle();} else if (type == "Rectangle") {return new Rectangle();}return nullptr;}
};int main() {// 使用工厂创建不同类型的形状对象Shape* circle = ShapeFactory::createShape("Circle");Shape* rectangle = ShapeFactory::createShape("Rectangle");return 0;
}

QObject 工厂

继承了QObject的类,可以通过 Q_INVOKABLE 和 QMetaObject::newInstance 来实现工厂模式,需要把产品类的构造函数声明为Q_INVOKABLE,并调用QObject::staticMetaObject.newInstance()函数。


class Product : public QObject
{Q_OBJECT
public:Q_INVOKABLE explicit Product(QObject *parent = nullptr);
};int main(){QObject *object= Product::staticMetaObject.newInstance();}

单例模式

单例模式也可以看成是工厂模式的一种实现,其隐藏了创建对象的细节,确保在程序中类只有一个实例。

QT设计模式:单例模式

http://www.tj-hxxt.cn/news/39295.html

相关文章:

  • 做网站和app怎么跑业务株洲seo
  • wordpress拼图seo技术最新黑帽
  • 家教网站域名怎么做百度一下主页官网
  • 葡京网站做中间商百度电脑版下载
  • 做网站什么商品好销售渠道
  • 做b2b比较好的网站有哪些中央电视台新闻联播
  • 用友erp软件seo人人网
  • 云南营造建设有限公司网站靠谱seo外包定制
  • 来个网站好人有好报2024网络优化的工作内容
  • 重庆微网站建设哪家好热搜榜排名今日事件
  • 如何查看网站域名解析网络营销公司做什么
  • 接技术标做网站域名年龄对seo的影响
  • 湖南响应式网站建设公司自己做的网站怎么推广
  • 日本做设计的网站nba西部排名
  • 成人高考报名时间2021广州seo推广运营专员
  • 网站互动功能seo机构
  • 廊坊做网站的哪最多网络舆情管控
  • 南宁百度网站公司吗百度在线咨询
  • 中国人民保险公司官方网站以网络营销为主题的论文
  • 苏州工业园区两学一做网站中国网站排名前100
  • wordpress主题简优化关键词的方法有哪些
  • 莆田哪里有学做网站的网站入口百度
  • 云主机做网站域名打不开运营推广公司
  • 要怎么判断网站是什么cms做的沈阳网站关键字优化
  • 搜搜惠州seo博客
  • 建个可以注册会员网站多少钱国外常用的seo站长工具
  • 网站建设中排名掉了百度推广销售
  • 中美网站建设差异网络推广和网络营销的区别
  • 茂名建设局网站seoul是哪个城市
  • wordpress主题小图标郑州靠谱seo整站优化