パルカワ2

最近はFlutterをやっています

MyApp::Model::Player::QuestとMyApp::Model::Player::Quest::Checker

MyApp::Model::Playerというのをリクエスト毎に作ってる。
そこにquest_checker_model(MyApp::Model::Player::Quest::Checker)とquest_model(MyApp::Model::Player::Quest)が生えてる。
別のプロジェクトでは、Result(Row)にMouse::Roleでprepare_questとか生やしてたけど「お前、どこに生えとるんや」問題が顕在化したのでやめた。

# controller
my $result = eval {
    my $checked = $player_model->quest_checker_model->check_preparable(...); # 不正なデータならここでエラー
    $player_model->quest_model->prepare($checked);
};
if (my $e = $@) {
    # detach
}

元々は、checkerの部分をquest_modelのprepareにいれてたけど、どんどんprepareが膨れていった。太ったcontrollerがmodelに移動しただけなの、意味がない感じがした。なので、別メソッドに分けたけど、どんどんmodelが太るのは変わらなかった。なので、もうちょっと分けようと思って、別modelにした。

こういうの、大体間違ってるのか間違ってないのか、わからないから困る。