Q&A
お世話になります。
最近CakePHPを業務で使うようになって2・3案件(それぞれ別会社)に携わり実装を見てきたのですが、
全てにおいてコントローラーがやたら長かった印象があります。
というのもStrutsとかSpringとかを触っていた頃は、
「コントローラーはデータの受け渡しや画面遷移だけしてビジネスロジックやDBのデータ操作はモデルに書く」
という風に徹底されていたのでどんなに長くても百行・二百行超える程度でしたが、
直近の案件ですとモデルではDBに対するデータ操作だけをして、
ビジネスロジックまでコントローラーで書いているため千行を超えるコントローラーとかザラです。
流石にこの実装方法はアンチパターンだとは思うのですが、
(CakePHPのドキュメントにもビジネスロジックはモデルで書くって書いてありますし)
CakePHPに代表されるRailsライクなフレームワークがActiveRecordをそのままModelクラスとしているために、
ModelクラスとDBのテーブル(レコード)との紐付きが強くなって複数テーブルのデータを使うロジックや、
そもそもDBへのアクセスを必要としないロジックをモデルに書きづらくなっているのが背景にあるのではないかと思います。
実際のところRailsライクのフレームワークでは、
そういった特定のDBデータに依存しないビジネスロジックはどのように実装するべきなのでしょうか??
回答1件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2014/09/09 14:28