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.