go-kiss / monkey

Go语言猴子补丁框架
https://taoshu.in/go/monkey/
MIT License
119 stars 18 forks source link

重构 Patch 传参方式 #9

Closed taoso closed 2 years ago

taoso commented 2 years ago

最早只有一个 global 参数,后面又添加了 generic 参数。为了方便使用, 之前还直接提供了 PatchGlobal 函数。但支持泛型之后,就会产生四种组合, 没办法再提供快捷函数,索性搞了一个 PatchRaw 函数,让大家随便传参。

但 PatchRaw 用起来非常麻烦,因为要为每一个参数都要提供对应的值,哪 怕不用也得传 fasle。这次通过引入 Option 接口来解决这个问题。

因为给 Patch 函数添加了变长 Option 类型的参数,使用者可以按需组合 不同的参数来控制 Patch 的行为。