doc.dev1x.org

Strategyパターンを用いてリポジトリに認可機能を持たせる

1. 目的

ドメインモデルの保存/削除時、認可処理を行いたい

2. 課題

ドメインモデルに認可ロジックを入れるのは微妙

ユースケース層に認可ロジックを実装するのは微妙

リポジトリに認可ロジックを実装するのは微妙

3. 解決策

リポジトリの更新メソッドに認可ロジックを与える(Strategyパターン)

認可ロジックを関数化/クラス化してドメイン層に配置する

4. メリット

認可ロジックを切り替え可能になる

5. デメリット

構成要素が増える

6. 注意

参考資料