仕事で、PHPで書かれた硬直したWebサーバシステムを、Go言語でリプレイスしています。 Go言語本来のらしさを壊さず、ドメイン駆動のオブジェクトパラダイムを導入する際の、 自分なりの設計方針を公開して、オープンに意見交換などができればと思いブログにしました。 tl;dr Goでどのようにデータにロジックを寄せたリッチなドメインオブジェクトを設計するか、 また、例として動画配信サービスを開発するというシナリオでモデルを洞察していき、解説を試みます。 最後に、値オブジェクトの設計方針について簡単に言及しました。 参考 設計ガイドライン - masuda220/business-logic-patterns こちらは、実際にドメインモデルを実装するにあたってのガイドラインとして、非常に参考になります。 Goに入ってはGoに従え Goらしい実装方法について、Go言語で開発する人は必読の素晴らしい