kitex icon indicating copy to clipboard operation
kitex copied to clipboard

Proposal:工程化模板或标准化的讨论

Open baiyutang opened this issue 2 years ago • 4 comments

Is your feature request related to a problem? Please describe. 了解到不少用户在做 RPC 框架技术选型时,都会关注是否开箱即用、工程化标准及方便的命令工具,对这方便有诉求,我们也可以考虑在此进行补齐或跟进。

Describe the solution you'd like 1、Kitex-project-layout,可以讨论是否要出一个 layout,尽管代码分层分包这些和微服务框架无关。 2、在标准化工程目录之后,可以在 kitex cli tool 中完善常用命令,如: new server / new rpc / gen client / gen server ...。 3、亦或者,我们无意统一标准,或者给一个参考让他们可用?

baiyutang avatar Jun 19 '22 16:06 baiyutang

增加个 Kitex-project-layout 很好,可以参考 https://github.com/go-kratos/kratos-layout 去做补齐

JellyTony avatar Jun 28 '22 16:06 JellyTony

@baiyutang 感谢提议,我们会关注该问题,有进展在这里同步

YangruiEmma avatar Jul 05 '22 18:07 YangruiEmma

同步一下进展: 最近考察了一些项目,目前 Go 语言内普遍认同度比较高的 project-layout 项目模板。

而 Web 项目通常把业务逻辑代码放置在 internal 目录下,那比较有争议的就是如何组织业务代码,更多人是按照自己的习惯去做,如果有比较能达成一致的,那就是 Controller - Use Cases(Services) - Repositories - Entities 以整洁架构为基础的软件架构方法。

资料:

总结一下现有的设计思想,无非整洁架构、DDD、六边形架构、洋葱模型、CQRC、事件驱动等等等等,针对大多数的软件应用,可能更多是偏向于提供 API 服务,也不难抽象出一些合理建议或模板。并且看到更多的诸如 整洁架构 + DDD 结合可以解决大多数用户问题。

总结如上,后续再提炼讨论。

baiyutang avatar Aug 22 '22 13:08 baiyutang

看看我的 https://github.com/JerryZhou343/kratos-tmpl

JerryZhou343 avatar Sep 14 '22 16:09 JerryZhou343

refer to https://github.com/cloudwego/cwgo

li-jin-gou avatar Feb 21 '23 11:02 li-jin-gou

cwgo和kitex有什么区别呢?都可以生成代码,为什么还要有两个工具呢?

noahge avatar Apr 08 '23 08:04 noahge

可以看下 cwgo 的 readme 介绍,另外 cwgo 类似的问题可以再 cwgo 中新开 issue 进行讨论的。

---原始邮件--- 发件人: @.> 发送时间: 2023年4月8日(周六) 下午4:33 收件人: @.>; 抄送: @.>;"State @.>; 主题: Re: [cloudwego/kitex] Proposal:工程化模板或标准化的讨论 (Issue #500)

cwgo和kitex有什么区别呢?都可以生成代码,为什么还要有两个工具呢?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you modified the open/close state.Message ID: @.***>

li-jin-gou avatar Apr 08 '23 08:04 li-jin-gou