ioc

package
v0.0.0-...-9a80c09 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

@Author: Ciusyan 2023/1/28

@Author: Ciusyan 2023/1/28

@Author: Ciusyan 2023/1/28

@Author: Ciusyan 2023/1/28

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExistingGinDependencies

func ExistingGinDependencies() (apps []string)

ExistingGinDependencies 返回Gin HTTP服务依赖的容器中已存在的依赖名称

func ExistingGrpcDependencies

func ExistingGrpcDependencies() (apps []string)

ExistingGrpcDependencies 返回GRPC服务依赖的容器中已存在的依赖名称

func ExistingInternalDependencies

func ExistingInternalDependencies() (apps []string)

ExistingInternalDependencies 返回内部服务依赖的容器中已存在的依赖名称

func GinDI

func GinDI(dependency GinDependency)

GinDI :将依赖注入此容器,Gin DI(Gin Dependency Inject)

func GrpcDI

func GrpcDI(dependency GrpcDependency)

GrpcDI :将依赖注入此容器,Grpc DI(Grpc Dependency Inject)

func InitAllDependencies

func InitAllDependencies() error

InitAllDependencies 用于初始IoC容器中的所有依赖

func InternalDI

func InternalDI(dependency InternalDependency)

InternalDI :将依赖注入此容器,Internal DI(Internal Dependency Inject)

func RegistryGin

func RegistryGin(prefix string, r gin.IRouter)

RegistryGin 注册所有的Gin Http 服务

func RegistryGrpc

func RegistryGrpc(s *grpc.Server)

RegistryGrpc 注册所有的Grpc服务

Types

type GinDependency

type GinDependency interface {
	InternalDependency
	// Registry 该模块所需要注册的路由
	Registry(r gin.IRouter)
	// Version 该服务API的版本
	Version() string
}

GinDependency Gin HTTP的服务实例想要注入此容器,必须实现该接口

func GetGinDependency

func GetGinDependency(name string) GinDependency

GetGinDependency 根据模块名称 获取内部服务模块的依赖,外部使用时需自己断言,如:

userGin = ioc.GetGinDependency("user").(user.UserGin)

type GrpcDependency

type GrpcDependency interface {
	InternalDependency
	// Registry 该模块所需要注册的GRPC服务
	Registry(s *grpc.Server)
}

GrpcDependency GRPC 服务的实例想要注入此容器,必须实现该接口

func GetGrpcDependency

func GetGrpcDependency(name string) GrpcDependency

GetGrpcDependency 根据模块名称 获取GRPC服务模块的依赖,外部使用时需自己断言,如:

userGrpc = ioc.GetGrpcDependency("user").(user.UserGrpc)

type InternalDependency

type InternalDependency interface {
	// Init 如何初始化注入此 IoC 的实例
	Init() error
	// Name 注入服务模块的名称
	Name() string
}

InternalDependency 内部服务的实例想要注入此容器,必须实现该接口

func GetInternalDependency

func GetInternalDependency(name string) InternalDependency

GetInternalDependency 根据模块名称 获取Gin HTTP服务模块的依赖,外部使用时需自己断言,如:

userService = ioc.GetInternalDependency("user").(user.Service)

Jump to

Keyboard shortcuts

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