Gone 从 v1 到 v2 的更新分析

项目地址:https://github.com/gone-io/gone

原文地址:https://github.com/gone-io/gone/blob/main/docs/gone-v1-to-v2-analysis.md


Gone 框架在 v2 版本中进行了全面的更新和改进,主要目标是简化框架概念,提高易用性和性能。本文档将详细分析 v1 到 v2 的主要变化。

1. 概念简化与术语变更

v1 版本中,Gone 框架使用了大量宗教性的概念和术语来描述框架的各个部分,这些术语在 v2 版本中被替换为更加直观和技术性的术语:

v1 版本术语 v2 版本术语 描述
Heaven Application 应用程序实例,负责管理组件的生命周期
Cemetery Core 框架核心,负责组件的注册和管理
Priest Loader 组件加载器,负责将组件加载到框架中
Goner Goner 保留,但定义更加明确,指嵌入了 gone.Flag 的结构体指针
Prophet 移除 v2 版本使用更清晰的生命周期方法替代
Angel 移除 v2 版本使用更清晰的生命周期方法替代
Vampire Provider 转变为更直观的 Provider 机制
Tomb 移除 简化了相关概念

这种术语变更使框架更加专业和易于理解,降低了学习曲线,使开发者能够更快地上手使用框架。

2. 接口重新设计

v2 版本重新设计了框架的接口,减少了内部方法的暴露,使接口更加清晰和易于使用:

2.1 组件定义的简化

v1 版本中,组件需要嵌入 gone.GonerFlag,而在 v2 版本中,组件只需要嵌入 gone.Flag

// v1 版本
type Component struct {
   
   
    gone.GonerFlag
}

// v2 版本
type Component struct {
   
   
    gone.Flag
}

2.2 组件加载方式的统一

v2 版本提供了更加一致和灵活的组件加载方式:

// v1 版本
func Priest(cemetery gone.Cemetery) error {
   
   
    cemetery.Bury(&Component{
   
   }, "component-id")
    return nil
}

// v2 版本
gone.Load(&Component{
   
   })                        // 直接加载
gone.Load(&Component{
   
   }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dapeng-大鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值