新作:轻量级Golang IoC容器—— iocgo

本文介绍了iocgo,一个专为Go语言设计的轻量级依赖注入容器,演示了如何安装、使用以及其核心功能,如注册接口、实例、函数调用等。通过Spring和Windsor的对比,突出iocgo在模块解耦中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. iocgo简介

习惯于Java或者C#开发的人应该对控制反转与依赖注入应该再熟悉不过了。在Java平台有鼎鼎大名的Spring框架,在C#平台有Autofac,Unity,Windsor等,我当年C#开发时用的最多的就是Windsor。使用IoC容器是面向对象开发中非常方便的解耦模块之间的依赖的方法。各个模块之间不依赖于实现,而是依赖于接口,然后在构造函数或者属性或者方法中注入特定的实现,方便了各个模块的拆分以及模块的独立单元测试。
在[长安链]的设计中,各个模块可以灵活组装,模块之间的依赖基于protocol中定义的接口,每个接口有一个或者多个官方实现,当然第三方也可以提供该接口更多的实现。为了实现更灵活的组装各个模块,管理各个模块的依赖关系,于是我写了iocgo这个轻量级的golang版Ioc容器。

2. iocgo如何使用

2.1 iocgo包的安装

现在go官方版本已经出到1.17了,当然我在代码中其实也没有用什么新版本的新特性,于是就用1.15版本或者之后的Go版本即可。要使用iocgo包,直接通过go get添加到项目中:

go get github.com/studyzy/iocgo

2.2 使用示例与说明

2.2.1 最简单的例子:

type Fooer interface {
   
	Foo(int)
}
type Foo struct {
   
}

func (Foo)Foo(i int)  {
   
	fmt.Println("foo:",i)
}
type Barer interface {
   
	Bar(string)
}
type Bar struct {
   

}
func (Bar) Bar(s string){
   
	fmt.Println(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值