ddd
The Go linter ddd
checks that Domain Driven Design layers are applied properly.
Main purpose is to avoid muddy code and to make it easier to keep the code clean and separated.
For example, a file in the domain
package must not directly import a file from any of the other layers.
** NOTE: the compiler will complain about the imports in testdata
packages. This is accepted. DO NOT FIX!
Default Rules
Package domain
can directly import from
Package application
can directly import from
Package infrastructure
can directly import from
Package ìnterfaces
can directly import from
domain
interfaces
application
Install
Checkout the repository and run the following command from the project root directory
go build -o $GOPATH/bin/ddd ./cmd/main.go
Based on the following tutorials: