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

网站怎么做充值系统下载中小企业管理培训班

网站怎么做充值系统下载,中小企业管理培训班,安阳做网站优化,成都哪里做网站好文章目录 一、什么是设计模式二、设计模式类型简单工厂模式及应用场景定义抽象产品类和具体产品类实现工厂类客户端代码注意事项 一、什么是设计模式 设计模式:在软件研发过程中,经过实战验证,用于解决在特定环境下、重复出现的,…

文章目录

    • 一、什么是设计模式
    • 二、设计模式类型
    • 简单工厂模式及应用场景
      • 定义抽象产品类和具体产品类
      • 实现工厂类
      • 客户端代码
      • 注意事项

一、什么是设计模式

设计模式:在软件研发过程中,经过实战验证,用于解决在特定环境下、重复出现的,特定问题的解决方案,基于面向对象的设计原则:主要是对接口编程
而不是对实现编程、优先使用对象组合而不是继承

二、设计模式类型

23 种设计模式可分为三类:创建型模式、结构型模式、行为模式。
简单工厂模式、单例模式、抽象工厂模式、原型模式、建造者模式(5 种)。
代理模式、外观模式、享元模式、组合模式、装饰器模式、适配器模式、桥接模式(7 种)。
访问者模式、策略模式、模板模式、状态模式、备忘录模式、观察者模式、中介者模式、迭代器模式、解释器模式、责任链模式、命令模式(11 种)

简单工厂模式及应用场景

简单工厂模式主要解决接口选择问题。
Factory(工厂)的核心部分,负责实现创建所有产品的内部逻辑,工厂类可以被外界直接调用,创建所需对象即可

定义抽象产品类和具体产品类

首先,定义一个抽象产品类几个具体产品类。这些类将实现一个共同的接口

// 抽象产品类
class Product {
public:virtual void use() = 0; // 纯虚函数virtual ~Product() {}   // 虚析构函数,确保派生类对象能正确析构
};// 具体产品类A
class ConcreteProductA : public Product {
public:void use() override {std::cout << "Result of the product A" << std::endl;}
};// 具体产品类B
class ConcreteProductB : public Product {
public:void use() override {std::cout << "Result of the product B" << std::endl;}
};

实现工厂类

接下来,实现一个工厂类,它根据输入参数决定创建哪种产品对象。

// 工厂类
class SimpleFactory {
public:static Product* createProduct(const std::string& type) {if (type == "A") {return new ConcreteProductA();} else if (type == "B") {return new ConcreteProductB();}return nullptr;}
};

客户端代码

最后,编写客户端代码,使用工厂类创建产品对象。

#include <iostream>
#include <string>int main() {std::string type = "A"; // 假设客户端需要创建产品AProduct* product = SimpleFactory::createProduct(type);if (product != nullptr) {product->use();delete product; // 记得释放内存}type = "B"; // 现在客户端需要创建产品Bproduct = SimpleFactory::createProduct(type);if (product != nullptr) {product->use();delete product; // 记得释放内存}return 0;
}

注意事项

扩展性:如果产品类非常多,工厂类可能会变得复杂。在这种情况下,可以考虑使用工厂方法模式或抽象工厂模式。

http://www.hkea.cn/news/759027/

相关文章:

  • 网络营销网站策划个人网站seo入门
  • 云南省网站备案要求全渠道营销的概念
  • 装修网站合作平台有哪些torrentkitty磁力猫
  • 大理网站开发长春seo结算
  • 西双版纳疫情最新情况seo营销的概念
  • 网站推广seo蜘蛛屯优化排名模板建网站价格
  • 怎样建设公司网站小程序b2b网站大全免费
  • 百度抓取不到网站百度识图搜索图片来源
  • 企业网站栏目规划的重要性网络营销的概述
  • 公司网站建设找谁做免费发布推广信息网站
  • 虚拟币网站开发seo百度关键字优化
  • 网站建设都 包括哪些淄博网站制作
  • 自己做装修网站南宁百度推广seo
  • 品牌建设浅谈seo网络营销外包
  • 昆山网站建设兼职千锋教育的官网
  • cm域名做网站盘古百晋广告营销是干嘛
  • 网站栏目策划企业网络营销方案
  • 网站自动采集指标sem广告投放是做什么的
  • 想做一个个人网站怎么做培训学校
  • 网站开发ipv6升级如何创建自己的小程序
  • 做网站需要备案吗外贸网站推广与优化
  • 独立网站建设流程b站视频推广网站动漫
  • 泰安诚信的网站建设b站推广入口2023年
  • 高校网站建设资料库东莞seo推广公司
  • 电子印章手机在线制作软件四川seo整站优化费用
  • 个人风采网站制作外贸网站平台哪个好
  • 沈阳企业建站谷歌推广和seo
  • .la域名做的网站如何快速推广app
  • 广州优化网站建设怎么用手机制作网站
  • 做微网站的第三方学网络营销