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

简单工厂模式

时间:2022-09-08 08:55:40浏览次数:70  
标签:coffee show tea package 模式 工厂 func 简单 simpleFactory

简单工厂模式

工厂接口

package simpleFactory

type drink interface{
    show()
}

咖啡对象

package simpleFactory

type coffee struct {
}

func (c *coffee)show(){
    fmt.Println("来杯咖啡提提神!")
}

茶对象

package simpleFactory

type tea struct{
}

func (t *tea)show(){
    fmt.Println("来杯茶水养养生~")
}

简单工厂

package simpleFactory

func NewDrink(name string) drink{
    switch name{
        case "coffee":
        	return &coffee{}
        case "tea":
        	return &tea{}
    }
    return nil
}

测试文件

package simpleFactory

func TestSimpleFactory(t *testing.T){
    NewDrink("coffee").show()
    NewDrink("tea").show()
}

标签:coffee,show,tea,package,模式,工厂,func,简单,simpleFactory
From: https://www.cnblogs.com/mathsmouse/p/16668241.html

相关文章

  • 【设计模式篇】访问者模式(Visitor)
    访问者模式定义(GoF):表示一个作用于某对象结构中的各种操作,它使你在不改变各个元素类的前提下定义作用于这些元素的新操作。先通过结构图,来了解访问者模式应用场景我们......
  • 如何结合整洁架构和MVP模式提升前端开发体验(三) - 项目工程化配置、规范篇
    工程化配置还是开发体验的问题,跟开发体验有关的项目配置无非就是使用eslint、prettier、stylelint统一代码风格。formattingandlinteslint、prettier、stylelint怎......
  • 简单理解数据代理Object.defineProperty(obj,变量,{})
    简单理解Object.defineProperty()数据代理:通过一个对象代理对另一个对象中属性的操作(读写)eg:letobj1={x:1}letobj2={y:2}Object.defineProper......
  • 【Django】简单的图书管理系统
    目录1.数据准备2.首页搭建3.书籍展示4.书籍添加5.书籍编辑6.书籍删除1.数据准备classBook(models.Model):"""图书表"""title=models.CharField(max_length=......
  • 单例模式
    单例就是只有一个实例对象,即在整个程序中,同一个类始终只有一个对象进行操作。这样可以极大的减少内存开支和系统的性能开销。这种模式提供了一种创建对象的最佳方式,让类负......
  • BigDecimal 舍入模式
    最近写了一个关于金额计算的需求,用户对精度要求比较高所以使用到Bigdecimal,又涉及到范围限制,所以就涉及到如果除不尽是Bigdecimal的舍人模式的问题:舍人模式RoundingMode是......
  • 初入Sql Server 之 存储过程的简单使用
    一、简介简单记录一下存储过程的使用。存储过程是预编译SQL语句集合,也可以包含一些逻辑语句,而且当第一次调用存储过程时,被调用的存储过程会放在缓存中,当再次执行时,则不需......
  • 13.1 反射 13.2selenium键盘事件13.3文件上传13.4滚动条操作 13.5鼠标事件13.6验证码
    13.1反射#什么是反射?#如果有一个变量名,是字符串的数据类型,你能获取到这个变量的值吗?#反射方法:classStudent:def__init__(self):self.name='张三'......
  • 设计模式_多例模式
    看个例子:有个线程池有五个线程,每次随机使用一个? 定义模拟线程类【SimulationThread】,定义线程名变量【threadName】,定义线程运行方法【runThread】。   定义线程......
  • 第 15 题:简单讲解一下http2的多路复用
    在HTTP/1中,每次请求都会建立一次HTTP连接,也就是我们常说的3次握手4次挥手,这个过程在一次请求过程中占用了相当长的时间,即使开启了Keep-Alive,解决了多次连接的问题,但是......