DependencyInjection

package
v1.4.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2020 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultServiceProvider added in v1.2.0

type DefaultServiceProvider struct {
	// contains filtered or unexported fields
}

func (DefaultServiceProvider) GetService added in v1.2.0

func (d DefaultServiceProvider) GetService(refObject interface{}) (err error)

func (DefaultServiceProvider) GetServiceByName added in v1.2.0

func (d DefaultServiceProvider) GetServiceByName(refObject interface{}, name string) (err error)

type IServiceProvider

type IServiceProvider interface {
	GetService(refObject interface{}) error
	GetServiceByName(refObject interface{}, name string) error
}

type IServiceProviderFactory

type IServiceProviderFactory interface {
	CreateServiceProvider() IServiceProvider
}

type ServiceCollection

type ServiceCollection struct {
	// contains filtered or unexported fields
}

func NewServiceCollection

func NewServiceCollection() *ServiceCollection

func (*ServiceCollection) AddServiceDescriptor

func (sc *ServiceCollection) AddServiceDescriptor(sd *ServiceDescriptor)

Singleton Scoped Transient

func (*ServiceCollection) AddSingleton added in v1.2.0

func (sc *ServiceCollection) AddSingleton(provider interface{})

func (*ServiceCollection) AddSingletonByImplements added in v1.2.0

func (sc *ServiceCollection) AddSingletonByImplements(provider interface{}, implements interface{})

func (*ServiceCollection) AddSingletonByName added in v1.2.0

func (sc *ServiceCollection) AddSingletonByName(name string, provider interface{})

func (*ServiceCollection) AddSingletonByNameAndImplements added in v1.4.0

func (sc *ServiceCollection) AddSingletonByNameAndImplements(name string, provider interface{}, implements interface{})

func (*ServiceCollection) AddTransient added in v1.2.0

func (sc *ServiceCollection) AddTransient(provider interface{})

func (*ServiceCollection) AddTransientByImplements added in v1.2.0

func (sc *ServiceCollection) AddTransientByImplements(provider interface{}, implements interface{})

func (*ServiceCollection) AddTransientByName added in v1.2.0

func (sc *ServiceCollection) AddTransientByName(name string, provider interface{})

func (ServiceCollection) Build added in v1.2.0

type ServiceDescriptor

type ServiceDescriptor struct {
	Name       string
	Provider   interface{}
	Implements interface{}
	Lifetime   ServiceLifetime
}

func NewServiceDescriptor

func NewServiceDescriptor(name string, provider interface{}, implements interface{}, lifetime ServiceLifetime) *ServiceDescriptor

func NewServiceDescriptorByImplements

func NewServiceDescriptorByImplements(provider interface{}, implements interface{}, lifetime ServiceLifetime) *ServiceDescriptor

func NewServiceDescriptorByName

func NewServiceDescriptorByName(name string, provider interface{}, lifetime ServiceLifetime) *ServiceDescriptor

func NewServiceDescriptorByProvider

func NewServiceDescriptorByProvider(provider interface{}, lifetime ServiceLifetime) *ServiceDescriptor

type ServiceLifetime

type ServiceLifetime int32
const (
	Singleton ServiceLifetime = 0
	Scoped    ServiceLifetime = 1
	Transient ServiceLifetime = 2
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL