Dai Jie

Results 247 comments of Dai Jie

@evanxg852000 I'm very glad to see your comment. I'm sorry and I'm busy writing the 3rd series, a ORM framework geeorm now. There is a golang version for bolt, named...

@wzc314 这是 go 中的嵌套类型,类似 Java/Python 等语言的继承。这样 Engine 就可以拥有 RouterGroup 的属性了。

@201732110125 parent 之前设计是用来拼接 prefix 的,每个 group 只记录自己的部分,最后通过 parent 层层回溯拼接。不过后来改用 `group.prefix + prefix` 的方式 group 初始化时已经拼接了完整的 prefix,所以不需要 `parent` 了,可以删除。

@xenv Go语言的嵌套在其他语言中类似于继承,子类必然是比父类有更多的成员变量和方法。RouterGroup 仅仅是负责分组路由,Engine 除了分组路由外,还有很多其他的功能。RouterGroup 继承 Engine 的 `Run()`,`ServeHTTP` 等方法是没有意义的。

@sunanzhi 这个就看如何去设计了,前缀区分一般是比较好的方式。比如 对一个博客系统来说,`/auth`,`/user` 下的走授权中间件,`/post/.html`,就不走授权,走统计中间件。`/api/` 开头的,是对外提供的公共接口,诸如此类。是比较符合 URL 设计的习惯的。 特别是 Restful API,以资源为中心的 URL 设计,通过前缀做不同业务的区分更为明显,不同前缀代表不同类型的资源。

@fishjar 你的想法是没问题的,当前的这种实现,前缀树解耦得比较好,功能比较单一,容易替换为其他的前缀树实现。Gin 这部分一开始也是利用了第三方实现,后来替换为自己的。

@echomuof 再创建子 group 的话,用当前 group 的 prefix 拼接应该就 OK 。

@wilgx0 哈哈,这个系列才上线,就看到第四天惹,感谢你的不懈支持~

@Xhofe 国庆抽时间填了个坑,感谢你的支持呢~