美文网首页
go实现工厂模式

go实现工厂模式

作者: 终生学习wq | 来源:发表于2020-09-24 11:37 被阅读0次

面试常见题目,有时候可能让你手写一些,所以尽量做到快速手写实现。这个看起来很简单,也可能需要经常练习一下。

package main

import "fmt"

// 这里主要是接收各种类型的返回 go语言
type factory interface {
    op(num1, num2 int)
}

// 加法工厂
type AddFac struct {}
func (f *AddFac)op(num1, num2 int)  {
    fmt.Println(num1 + num2)
}

// 减法工厂
type SubFac struct {}
func (f *SubFac)op(num1, num2 int)  {
    fmt.Println(num1 - num2)
}

// 工厂方法
func createFac(name string) factory {
    if name == "add"{
        return &AddFac{}
    }

    return &SubFac{}
}


func main()  {
    var fac factory = createFac("sub")
    fac.op(1, 2)
}

相关文章

  • go实现工厂模式

    面试常见题目,有时候可能让你手写一些,所以尽量做到快速手写实现。这个看起来很简单,也可能需要经常练习一下。

  • Go语言设计模式(2)工厂模式

    Go语言设计模式(2)工厂模式 工厂模式的定义 工厂模式的定义如下: Define an interface fo...

  • Go语言设计模式(3)抽象工厂模式

    Go语言设计模式(3)抽象工厂模式 抽象工厂模式的定义 抽象工厂模式的定义如下: Provide an inter...

  • go闭包和工厂模式

    先说工厂模式,工厂模式有3种:简单工厂模式;工厂方法模式;抽象工厂模式。 go语言中的闭包已经在上一节golang...

  • 创建相关的设计模式

    简单工厂模式 工厂模式 工厂生产行为交由子类去实现 抽象工厂模式 三种工厂模式的缺点:1.简单工厂:工厂类需要实现...

  • Go实现工厂模式的思考

    模式从业务场景中总结出来,然而并不是固定的。 起因 有一个多平台的抓取需求,必然要提炼一个方法,根据平台类型获取实...

  • 必须掌握的Golang23种设计模式之工厂方法模式

    工厂方法模式使用子类的方式延迟生成对象到子类中实现。 Go中不存在继承 所以使用匿名组合来实现 查看全部设计模式:...

  • 抽象工厂模式(选择产品簇)

    目录 回顾众多工厂模式 抽象工厂模式的理念 抽象工厂模式与工厂方法模式的差异 怎么来实现抽象工厂模式 抽象工厂模式...

  • 设计模式2-工厂模式

    工厂模式分为简单工厂模式、工厂方法模式和抽象工厂模式 简单工厂模式 简单工厂模式,就是建立一个工厂类,对实现了同一...

  • 工厂设计模式

    工厂模式 实现了创建者和调用者分离,工厂模式分为简单工厂、工厂方法、抽象工厂模式 工厂模式好处 工厂模式是我们最常...

网友评论

      本文标题:go实现工厂模式

      本文链接:https://www.haomeiwen.com/subject/fuyzyktx.html