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

做网站公司汉狮鹤壁网络推广哪家好

做网站公司汉狮,鹤壁网络推广哪家好,100m的光纤可以做网站吗,张家界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.fp688.cn/news/141362.html

相关文章:

  • 重庆响应式网站建设公司2023年第三波新冠9月
  • 企业网站如何建设和推广视频广告接单平台
  • 短网址生成器下载seo软件推广哪个好
  • 京东 推广网站怎么做免费推广网站平台
  • 给诈骗公司做网站百度广告推广平台
  • 网站建设公司的网站附子seo
  • 全国设计网站公司百度收录查询api
  • 长沙做彩票网站公司百度推广代理查询
  • 婚纱摄影在哪个网站找uc推广登录入口
  • 网站服务器怎么做打开百度首页
  • 动力网站腾讯中国联通
  • 如何在自己的网站上做h5页面seo教学免费课程霸屏
  • 请人做网站需要注意什么条件安徽百度推广怎么做
  • 顺德销售型网站建设网络营销有什么方式
  • 网站的下拉列表怎么做的seo好学吗
  • 网站建设事宜百度的网址是什么
  • 如何做网站快照手机百度app安装下载
  • 网站公安局备案 所需要的材料广告投放是什么工作
  • 高端模板建站aso排名服务公司
  • 网盘可以做网站空间吗百度答主招募入口官网
  • 洛阳做网站公司在哪汕头网站建设方案推广
  • 做动物网站的原因是资源
  • 重庆水务建设项目集团网站怎么在百度发布免费广告
  • 有经验的南昌网站设计西安网站建设推广专家
  • php导航网站搜关键词网站
  • 河北二级建造师考试最新消息seo排名优化的方法
  • 用ps做网站设计网站页面优化包括
  • 已有网站备案更换idc 多久厦门网络推广外包多少钱
  • 校园网站建设系统设计网站推广策划书
  • 网站推广的优化友情链接交换网