/freedom

Freedom是一个基于六边形架构的框架,可以支撑充血的领域模型范式。

Primary LanguageGoApache License 2.0Apache-2.0

Freedom DDD Framework

License Go Report Card Build Status GoDoc GitHub release

Freedom 是一个基于六边形架构的框架,可以支撑充血的领域模型范式。

Overview

  • 集成 Iris
  • HTTP/H2C Server & Client
  • 集成普罗米修斯
  • AOP Worker & 无侵入 Context
  • 可扩展组件 Infrastructure
  • 依赖注入 & 依赖倒置 & 开闭原则
  • DDD & 六边形架构
  • 领域事件 & 消息队列组件
  • CQS & 聚合根
  • CRUD & PO Generate
  • 一级缓存 & 二级缓存 & 防击穿

安装

go.1.16+
$ go install github.com/KenWang1/freedom/freedom@latest
$ freedom version
go.1.13+
$ git clone https://github.com/KenWang1/freedom.git $GOPATH/src/github.com/KenWang1/freedom
$ cd $GOPATH/src/github.com/KenWang1/freedom/freedom
$ go install
$ freedom version

脚手架创建项目

$ freedom new-project [project-name]
$ cd [project-name]
$ go run server/main.go

脚手架生成增删查改和持久化对象

# freedom new-po -h 查看更多
$ cd [project-name]

# 数据库数据源方式
$ freedom new-po --dsn "root:123123@tcp(127.0.0.1:3306)/freedom?charset=utf8"

# JSON 数据源方式
$ freedom new-po --json ./domain/po/schema.json

Example