首页 > 其他分享 >工厂模式

工厂模式

时间:2023-09-24 10:11:06浏览次数:29  
标签:NotifMessageType int 接口 工厂 WUDI 模式 FEITIAN type

工作场景:编写一个给用户发送短信的程序

传统写法
#include <stdio.h>
#include <string>

enum NotifMessageType
{
    WUDI,
    FEITIAN
};

class NotifMessage
{
public:
    int sendMessage(long long userId, std::string& msg, NotifMessageType type)

    {
        std::string phoneNumber = "123666666";
        if (type == WUDI) {
            // 代发短信公司的代码接口     
        }
        else if(type == FEITIAN) {
            // 另一个代发短信公司的代码接口
        }
        return 0;
    }
};

int main()
{
    return 0;
}
  • int sendMessage()一个向用户发送信息的接口,需要知道用户的id,发送内容,发送短信是否成功的状态码来返回给int

  • enum NotifMessageType利用枚举类型根据条件判断判断是哪个公司的代码接口

像上述如果根据情况需要接入的接口越来越多,需要写的if else语句越来越冗长,该怎么解决呢

标签:NotifMessageType,int,接口,工厂,WUDI,模式,FEITIAN,type
From: https://www.cnblogs.com/Gal0721/p/17725644.html

相关文章

  • 模式
    模式2.7.1.1、模式的定义定义模式实际上定义了一个命名空间,在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。在CREATESCHEMA中可以接受CREATETABLE,CREATEVIEW和GRANT子句。CREATESCHEMA<模式名>AUTHORIZATION<用户名>[<表定义子句>|<视图定义子句>|<......
  • 关于一些《软件设计模式》的一些基础笔记
    ......
  • 观察者模式在事件驱动中的运用
    title:观察者模式在事件驱动中的运用categories:-Javatags:-设计模式abbrlink:53cb85e5date:2023-03-0215:06:28在面对一些较为复杂的业务时,合理的使用事件驱动设计,能够帮助我们对主业务逻辑和分支业务逻辑进行解耦,更好的实现开闭原则。什么是观察者模式?观察......
  • 基于BS模式的教务管理系统的设计与实现-计算机毕业设计源码+LW文档
    摘 要在科技快速发展的今天,各个行业都在不断地跟上时代的潮流,利用科技的力量来提升自己的竞争力。教务管理体系自然也不例外,互联网技术的日益成熟,推动了教务管理体系的建立,从根本上改变了以往的传统管理模式;不但降低了服务管理的难度,还提高了管理的灵活性。教务管理系统,主要的模......
  • 单例模式(一些误区)
    工作场景:其他调用者直接创建类的对象,而不是使用内置的getinstance创建对象怎么解决(只能通过getinstance创建对象)创建对象就必须使用构造函数,把构造函数设置为私有的,如果在外部类或者文件调用就会报错把指针也设置私有防止乱改其是否为空影响对象创建使用getinstance返回......
  • 单例模式
    工作场景:配置文件 比如redis的配置文件redis.conf里面包涵连接数据库需要的连接信息、用户名、用户密码等配置信息,每个用户都有这个可修改的配置文件进行数据库连接个性化配置(这份文件不能写死但大体内容类似),所以需要使用设计模式思想进行代码复用,这里采将会用设计模式里的单......
  • 设计模式序言
    1.设计模式和编程语言的规范不同编程语言大多有以下共同点: 编程语言规范严格:编译器严格规定语法,如条件判断语句if()不可以加分号,标识符不能在变量声明占用等等,否则编译会报错 设计模式模式繁多:有多种设计模式,想使用哪种就哪种,更像是一门经验学科2.学生的思维方式 为了考......
  • Flink的部署模式:Local模式、Standalone模式、Flink On Yarn模式
    Flink部署、执行模式Flink的部署模式Local本地模式、Standalone模式和FlinkonYARN模式是Flink的三种常见部署模式。1.Local本地模式:在本地模式下,Flink以单机模式运行,无需启动分布式资源管理器。这种模式适用于本地开发和测试,用于验证Flink代码的正确性和性能。2.Standalon......
  • 软件设计模式系列之十二——外观模式
    在软件设计中,经常会遇到需要与复杂子系统进行交互的情况。为了简化客户端与子系统之间的交互,提高系统的可维护性和可用性,外观模式应运而生。外观模式(FacadePattern)是一种结构型设计模式,它提供一个统一的界面,用于访问系统中的一组相关接口,从而隐藏了系统的复杂性。在本文中,我们将......
  • GPIO的八种工作模式
    STM开发方式基于寄存器--->程序员直接配置寄存器基于标准库--->利用ST官方封装好的库函数基于HAL库--->图形化界面我目前主要学习基于标准库的,STM32库是由ST公司针对STM32提供的函数接口,即API(ApplicationProgramInterface),开发者可调用这些函数接口来配置STM32的寄存器,使开......