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

零基础学做网站页微信引流的十个方法

零基础学做网站页,微信引流的十个方法,宁德网站开发公司,建设网站的优势基本概念 工厂模式是一种创建型设计模式,用于将对象的创建逻辑与使用者分离,以实现对象的创建和使用的解耦。工厂模式提供了一个统一的接口来创建对象,而客户端代码只需通过该接口来请求所需的对象,而不需要知道具体的对象创建细…

基本概念

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

工厂模式的各种部件为:

  • 工厂(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.hrbkazy.com/news/27125.html

相关文章:

  • 写作网站签约都要上传身份证吗seo快速排名优化公司
  • 岳阳网站建设软文接单平台
  • 网站建设怎么寻找客户百度推广后台登陆首页
  • 网站开发文档百度文库网站友链查询接口
  • 网站怎样做的有吸引力百度网站推广教程
  • flash 做ppt的模板下载网站有哪些数字营销策划
  • 网站如何做好seo优化设计答案大全
  • 松北建设局网站seo入门培训学多久
  • 形容网站页面做的好的词语seo关键词查询排名软件
  • 新泰网站开发百度浏览器打开
  • 湖北网站设计制作价格站长统计app软件下载
  • 网络课程网站建设市场调研分析
  • 网站的ftp上传地址代运营套餐价格表
  • 网站搜索怎么做php谷歌seo优化技巧
  • 太原网站的优化聊城网站seo
  • 网站开发定义名称cps游戏推广平台
  • 怎么生成网址链接重庆seo招聘
  • 网站建设 岗位职责人民网舆情数据中心官网
  • 苏州有什么好玩的游乐园手机优化软件下载
  • 建设银行山西招聘网站谷歌引擎搜索入口
  • 1号店网站网页特效百度seo外链推广教程
  • 网站备案是一年一次吗百度推广后台
  • 设计wordpress主题下载seo查询优化
  • 企业网站图片上传河南疫情最新情况
  • 公司团队建设seo快速优化
  • 手表网站 欧米茄seo是什么单位
  • 网页美工用什么软件优化推广网站排名
  • 万网域名中文网站查询网络营销和网站推广的区别
  • 代码做网站的软件推广宣传方式有哪些
  • 做爰全过程免费的视频 网站seo是搜索引擎优化吗