kendoDDD:基于Golang的DDD实践

时间:2024-06-15 10:47:18
【文件属性】:

文件名称:kendoDDD:基于Golang的DDD实践

文件大小:307KB

文件格式:ZIP

更新时间:2024-06-15 10:47:18

Go

kendoDDD 微服务的强大之处在于清晰地定义了它们的职责并划定了它们之间的边界。它的目的是在边界内建立高内聚,在边界外建立低耦合。也就是说,倾向于一起改变的事物应该放在一起。正如现实生活中的许多问题一样,但这说起来容易做起来难,业务在不断发展,设想也随之改变。因此,重构能力是设计系统时考虑的另一项关键问题。 那应该怎么将一个大的系统合理有效的拆分成微服务呢?你需要了解领域驱动设计(DDD)。领域驱动设计因 Eric Evans 的著作而出名,它是一组思想、原则和模式,可以帮助我们基于业务领域的底层模型设计软件系统。开发人员和领域专家一起使用统一的通用语言创建业务模型。然后将这些模型绑定到有意义的系统上,在这些系统和处理这些服务的团队之间建立协作协议。更重要的是,它们设计了系统之间的概念轮廓或边界也就是上下文。微服务设计从这些概念中汲取了灵感,因为所有这些原理都有助于构建可以独立变更和发


【文件预览】:
kendoDDD-master
----presentation()
--------middleware()
--------api()
--------gprc.goo(1KB)
--------router.go(1KB)
----conf()
--------config.yaml(352B)
----go.mod(1KB)
----asset()
--------02.png(129KB)
--------01.png(118KB)
--------my.drawio(0B)
----main.go(495B)
----.gitattributes(23B)
----build_app.sh(130B)
----domain()
--------services()
--------core_domain()
--------testcmd()
--------startup.go(390B)
--------k8s_info()
--------trips()
--------files()
----.vscode()
--------launch.json(564B)
--------settings.json(31B)
----Dockerfile(286B)
----crosscutting()
--------startup.go(697B)
----README.md(18KB)
----interfaces()
--------file_repo.go(1KB)
--------redis_repos.go(197B)
--------common.go(364B)
----.gitignore(67B)
----application()
--------files_app.go(2KB)
--------files_vm.go(513B)
--------k8s()
--------grpc_common.go(20B)
--------commonVM.go(241B)
--------common.go(510B)
----infrastructure()
--------logs()
--------repos_redis()
--------helper()
--------repos_mysql()
--------bus()
--------errorext()
--------codes()
--------ddd()
--------repoFac.go(506B)
----docker.sh(564B)

网友评论