Gone——golang依赖注入框架介绍
warning:
这篇文章距离上次修改已过277天,其中的内容可能已经有所变动。
Gone 是一个轻量级的 Go 语言依赖注入(DI)框架。它提供了一种简单的方法来管理和注入应用程序依赖项。
以下是一个简单的使用 Gone 的例子:
首先,定义一个接口和它的实现:
package main
import "fmt"
// 定义接口
type Greeter interface {
Greet() string
}
// 实现接口
type EnglishGreeter struct{}
func (g EnglishGreeter) Greet() string {
return "Hello!"
}
接下来,使用 Gone 来注册和解析依赖:
package main
import (
"github.com/darwinfan/gone/di"
)
func main() {
// 创建容器
container := di.NewContainer()
// 注册服务
container.RegisterType(new(Greeter), new(EnglishGreeter))
// 解析服务
greeter := container.Resolve(new(Greeter)).(Greeter)
fmt.Println(greeter.Greet()) // 输出: Hello!
}
在这个例子中,我们创建了一个新的容器,并注册了 EnglishGreeter
作为 Greeter
接口的实现。然后我们通过 Resolve
方法获取 Greeter
接口的实例,并调用它的 Greet
方法。
这个简单的例子展示了如何使用 Gone 来管理和注入依赖。
评论已关闭