Service層とかModel層とか時々はてブで話題になりますね。
Result
DBのデータをPerlでも扱えるようにしたもので、DBをグリグリ操作するメソッドを書いたりはしない。
columnとか、is_*とか、to_hashrefとかそういうを書く。
$player->nickname; $player->has_chinchin; $player->is_hisaichi;
ResultSet
データを絞るためだけに使って、ArrayRefとか返したり、updateしたりするメソッドは書かない。
=> ResultSetに書くメソッドは基本ResultSetしか返さない.
# search_rsの部分をResultSet::Playerに書く models('RS::Player')->search_rs({...})->all; models('RS::Player')->hoge_rs->all;
Model
DB | Web API |その他もろもろを操作する君
$player_model->gift_model->receive(...); $player_model->coin_model->receive(...);
まとめ
という感じにしています。