プログラミング道場生Hatajoeです。 ドメイン駆動設計読書会@大阪には初回から参加させて頂いています。 今回は、読書会で得られた知見を業務に導入する際の気付きをお話したいと考えています。 なぜリポジトリなのか話をする前に、なぜドメイン駆動設計な開発を導入しようと思ったのかの前提を説明させて下さい。 私は普段、チームでWebアプリケーションの開発を行っています。 チームには、自分を含めて3名のプログラマーが在籍しています。 言語はPHPで、CodeIgniterというWebアプリケーションフレームワークを使用しています。 現在、私達は以下の問題を抱えています。 ファットコントローラーコピペコードテスト無し既存機能の改修難易度が高く、機能追加でレガシーなソースが量産されるという悪循環です。 私は、これに対処するために、複雑で重複したビジネスロジックを切り出す必要があると考えました。 しかし
![ドメイン駆動設計のリポジトリパターンをプロジェクトへ持ち込む時の話](https://cdn-ak-scissors.b.st-hatena.com/image/square/2167564d14107febee4ea0f067a123ae6721dbc7/height=288;version=1;width=512/https%3A%2F%2F64.media.tumblr.com%2F3b426a9d6ae1b90a92da877d81e2e8b8%2Ftumblr_inline_pk01ztGRtC1s4k0iy_500.png)