ぺい

大阪の専門学生の落書き。主にエンジニア寄りの話。

goaのデザインコードを分割する

肥大化しがちなDSLコードを分割する

f:id:tikasan0804:20170505212036p:plain

goaの開発フローは、以下のような感じです。

  1. DSLを作成する
  2. コントローラー作成
  3. 追加仕様または修正でDSLをごにょる

上記のようなことをしていたら、結構DSLが肥大化します。そこで、DSLを少し工夫することで分割することが可能です。これをすると以下のような構成に出来るので、困ってる人は実践してみてください。

├── Makefile
├── README.md
├── app
├── client
├── controllers
│   ├── hello.go
│   └── sample.go
├── design
│   ├── api_definition.go
│   ├── media
│   │   ├── hello.go
│   │   └── sample.go
│   └── resources
│       ├── hello.go
│       └── sample.go
└── main.go

ソース

github.com

まだ、PR出している最中ですが、上記のコードがその具体例になります。