V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Philippa
V2EX  ›  Go 编程语言

关于 Github 上一个流行的 Go 模版采用 DDD 项目组织方式

  •  
  •   Philippa · 2020-12-14 15:02:45 +08:00 · 1734 次点击
    这是一个创建于 1242 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目地址: https://github.com/golang-standards/project-layout

    最近有开一个 Go 项目的需求,虽然 DDD 已经很久了,但看到项目的结构组织方式其实有点无从上手。关于这个,有一个 YouTube 演讲视频几年前也提到了: https://www.youtube.com/watch?v=oL6JBUk6tj0

    视频里包含了一个简单的例子和一些解释。看起来咋挺有道理的,但这种抽象和缺乏明确边界的概念性描述是无法说清楚 DDD 本身是什么的。DDD 里面提到不同的领域有“非常明确的边界”,但我觉得它有点自相矛盾,因为它本身的描述就缺乏“非常明确的边界”。与可以量化 /或有明确流程图的 MVC 不同,DDD 有多个概念,稍微深入想想就发现很多概念上的重叠。把 DDD 看成 “思维模式” 是没错,但动手之前需要的还是 “标准化”。

    为此我上网寻找了一遍 Go Web 项目的 DDD boilerplate,基本上也是各有各的风格。与上面项目近 2 万个的 stars 相比,实际发现的项目完全不在一个数量级。所以看得有点无所适从。因为即使我自己按照自己的理解构建了项目,我也无法保证能向我的同事解释清楚。不知道各位是如何组织自己的项目的?

    第 1 条附言  ·  2021-03-04 14:25:15 +08:00
    2 条回复    2020-12-14 15:21:33 +08:00
    baiyi
        1
    baiyi  
       2020-12-14 15:20:55 +08:00   ❤️ 1
    Bilibili 的 Go 语言工程化实践 https://time.geekbang.org/dailylesson/detail/100040852

    有关于项目组织布局的方式,但没有提到 DDD,可以参考一下
    crclz
        2
    crclz  
       2020-12-14 15:21:33 +08:00
    先学会 C#/java 怎么 DDD,你就知道 go 怎么 DDD 了 https://github.com/dotnet-architecture/eShopOnContainers
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1057 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:34 · PVG 06:34 · LAX 15:34 · JFK 18:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.