技术亮点提要
- 热替换:主要是项目中经常会引用其他结构的变量,但是对方的变量又是时刻在变,随时申请,这就会引起操作不一致。热替换就是解决这种情况的一种方法。其中这样有益于面向接口设计的带来的一个好处,就是getXXX()方法。
全局变量
首先针对全局变量和特定类型,我们需要进行自定义和初始化部分变量
// 被用来表示通道管理器的状态的类型。
type ChannelManagerStatus uint8
const (
CHANNEL_MANAGER_STATUS_UNINITIALIZED ChannelManagerStatus = 0 // 未初始化状态。
CHANNEL_MANAGER_STATUS_INITIALIZED ChannelManagerStatus = 1 // 已初始化状态。
CHANNEL_MANAGER_STATUS_CLOSED ChannelManagerStatus = 2 // 已关闭状态。
)
// 表示状态代码与状态名称之间的映射关系的字典。
var statusNameMap = map[ChannelManagerStatus]string{
CHANNEL_MANAGER_STATUS_UNINITIALIZED: "uninitialized",
CHANNEL_MANAGER_STATUS_INITIALIZED: "initialized",
CHANNEL_MANAGER_STATUS_CLOSED: "closed",
}
接口实现
作为管理器,首先就要收集和监控通道的各项信息,同时对齐有一定的控制作用。
// 通道管理器的接口类型。
type ChannelManager interface {
// 初始化通道管理器。
// 参数channelArgs代表通