Documentation
¶
Index ¶
- type BdjContainer
- func (b *BdjContainer) Bind(provider ServiceProvider) error
- func (b *BdjContainer) IsBind(key string) bool
- func (b *BdjContainer) Make(key string) (interface{}, error)
- func (b *BdjContainer) MakeNew(key string, params []interface{}) (interface{}, error)
- func (b *BdjContainer) MustMake(key string) interface{}
- type Container
- type NewInstance
- type ServiceProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BdjContainer ¶ added in v1.1.0
type BdjContainer struct {
// 强制要求 BdjContainer 实现 Container 接口
Container
// contains filtered or unexported fields
}
func NewBdjContainer ¶ added in v1.1.0
func NewBdjContainer() *BdjContainer
func (*BdjContainer) Bind ¶ added in v1.1.0
func (b *BdjContainer) Bind(provider ServiceProvider) error
func (*BdjContainer) IsBind ¶ added in v1.1.0
func (b *BdjContainer) IsBind(key string) bool
func (*BdjContainer) Make ¶ added in v1.1.0
func (b *BdjContainer) Make(key string) (interface{}, error)
Make 调用 make 实例化服务
func (*BdjContainer) MakeNew ¶ added in v1.1.0
func (b *BdjContainer) MakeNew(key string, params []interface{}) (interface{}, error)
MakeNew 调用 make 强制重新实例化服务
func (*BdjContainer) MustMake ¶ added in v1.1.0
func (b *BdjContainer) MustMake(key string) interface{}
MustMake 调用 make 实例化服务,有错误会 panic
type Container ¶ added in v1.1.0
type Container interface {
// Bind 绑定一个服务提供者,如果关键字凭证已经存在,会替换,不返回 error。
Bind(provider ServiceProvider) error
// IsBind 关键字凭证是否已经绑定服务提供者。
IsBind(key string) bool
// Make 根据关键字凭证获取一个服务。
Make(key string) (interface{}, error)
// MakeNew 根据关键字凭证和参数获取一个新的服务。
MakeNew(key string, params []interface{}) (interface{}, error)
// MustMake 根据关键字凭证获取一个服务。
// 如果关键字凭证未绑定服务提供者,会 panic。
// 所以在使用本接口时,要保证服务容器已经为这个关键字凭证绑定了服务提供者。
MustMake(key string) interface{}
}
type NewInstance ¶ added in v1.1.0
type NewInstance func(...interface{}) (interface{}, error)
type ServiceProvider ¶ added in v1.1.0
type ServiceProvider interface {
// Name 获取服务凭证
Name() string
// Register 服务实例化
Register(Container) NewInstance
// Params 获取服务实例化的参数
Params(Container) []interface{}
// IsDefer 控制服务实例化的时机
// false 表示不延迟实例化(在注册的时候就实例化)
// true 表示延迟实例化(在获取服务的时候实例化)
IsDefer() bool
// Boot 服务实例化的时候会调用,做一些准备工作
// 如果 Boot 返回 error,服务实例化就会失败,返回错误
Boot(Container) error
}
ServiceProvider 服务提供者需要实现的接口
Directories
¶
| Path | Synopsis |
|---|---|
|
Package gin implements a HTTP web framework called gin.
|
Package gin implements a HTTP web framework called gin. |
Click to show internal directories.
Click to hide internal directories.