设计模式 factorymethod_test 实现

  • 2022-07-21
  • 浏览 (1099)

golang 设计模式 factorymethod_test 代码实现

package factorymethod

import "testing"

func compute(factory OperatorFactory, a, b int) int {
	op := factory.Create()
	op.SetA(a)
	op.SetB(b)
	return op.Result()
}

func TestOperator(t *testing.T) {
	var (
		factory OperatorFactory
	)

	factory = PlusOperatorFactory{}
	if compute(factory, 1, 2) != 3 {
		t.Fatal("error with factory method pattern")
	}

	factory = MinusOperatorFactory{}
	if compute(factory, 4, 2) != 2 {
		t.Fatal("error with factory method pattern")
	}
}

目录

go 设计模式

相关文章

工厂方法模式

设计模式 factorymethod 实现

0  赞