鉴于此代码:
package main
import (
"fmt"
)
type datstr string
type Guy interface {
SomeDumbGuy() string
}
func (d *datstr) SomeDumbGuy() string {
return "some guy"
}
func someConsumer(g Guy) {
fmt.Println("Hello, " + g.SomeDumbGuy())
}
func main() {
var d datstr
someConsumer(&d)
}
以 main 方式完成的将组件连接在一起是否是将依赖关系连接在一起的正确方法?好像我在我的代码中使用了一点。有没有比这更好的通用模式,还是我想多了?
原文由 Justin Thomas 发布,翻译遵循 CC BY-SA 4.0 许可协议
最佳做法是不要使用 DI 库。 Go 旨在成为一种易于理解的简单语言。 DI 库/框架将从你那里抽象出来(并在某种程度上使 DI 变得 _神奇_)。