package
Version:
v0.0.0-...-28af436
Opens a new window with list of versions in this module.
Published: Nov 4, 2023
License: MIT
Opens a new window with license information.
Imports: 1
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
对象注册表
-
在Go语言中,对象注册表(Object Registry)是一种用于存储和管理对象实例的数据结构。它提供了一个中心化的存储库,用于存储对象的引用和相关的元数据,以便在程序的不同部分中共享和访问这些对象。
-
对象注册表可以用于多种目的,例如:
- 对象管理:对象注册表可以跟踪和管理程序中的对象实例,包括对象的创建、销毁和查找等操作。
- 依赖注入:对象注册表可以用于实现依赖注入(Dependency Injection),这是一种设计模式,使得对象的依赖关系在运行时被注入,而不是在代码中硬编码。通过对象注册表,可以将依赖对象注册到注册表中,并在需要时动态地注入到使用这些对象的类中。
- 对象定位:对象注册表可以用于在程序的不同部分中定位和访问对象实例。它提供了一种全局的访问点,使得代码中的任何位置都可以通过注册表获取到其他对象的引用。
-
至于IoC(Inversion of Control,控制反转),它是一种设计原则,旨在降低代码之间的耦合度。在传统的程序中,一个类通常需要显式地创建和管理它所依赖的其他对象。而IoC通过将控制权反转,让框架或容器来负责对象的创建和注入,从而减少了类之间的直接依赖关系。
-
在Go语言中,IoC可以通过对象注册表或其他容器技术来实现。通过使用IoC,开发者可以将对象的创建和管理委托给容器,使得代码更加灵活、可扩展和可测试。
Documentation
¶
type GinApiHandler interface {
Registry(r gin.IRouter)
}
Gin
type IocContainter struct {
}
定义接口 就是定义逻辑
定义一个对象, IocContainter
管理者所有的对象(Api Handler)
把每个 ApiHandler的路由注册给Root Router
type IocObject interface {
Init() error
Name() string
}
定义注册进来的对象的约束条件
Source Files
¶
Click to show internal directories.
Click to hide internal directories.