01 golang 设计模式-创建型模-工厂方法

发布于 2022年 01月 16日 18:07

腾讯服务器

88 / 年

  • 上海/北京/广州...
  • 2核 2G 4M
  • Linux/Windows
新年大优惠

腾讯服务器

425 / 年

  • 上海/北京/广州...
  • 4核 8G 10M
  • Linux/Windows
年度最便宜

腾讯服务器

1249 / 年

  • 上海/北京/广州...
  • 8核 16G 14M
  • Linux/Windows
点击查看

工厂方法 code

package factory

import "fmt"

type Company interface {
	Goodjob()
}

type Thinry struct {
}

func (m *Thinry) Goodjob() {
	fmt.Println("Thinry 9点开始进入工作")
}

type Shine struct {
}

func (m *Shine) Goodjob() {
	fmt.Println("Shine 9点30开始进入工作")
}
func NewConpany(cType string) Company {

	switch cType {
	case "jit":
		return &Thinry{}
	case "shine":
		return &Shine{}
	}
	return nil
}


Test code

package factory

import "testing"

func TestNewCompany(t *testing.T) {
	NewConpany("jit").Goodjob()
	NewConpany("shine").Goodjob()
}

Test执行结果

Thinry 9点开始进入工作
Shine 9点30开始进入工作

推荐文章