セクション
1543 ページ目
Posts
テストのたびにファイルが作られ、失敗すると残る。メモリ上で動く保存先に差し替える【InMemoryRepository】
どのコマンドにもファイルの読み書きが混ざり、保存形式を変えると全部直すことになる。保存の仕事を1か所に分ける【Repository】
タスク名にタブが入ると、保存ファイルが読めなくなる。構造ごと書き出す【JSON】
タスクがただの文字列で、完了の印を付ける場所がない。データと操作を1つのクラスにまとめる【Taskクラス】
if-elsifで書いた約50行のTodo CLIは動く。でもテストが書けない理由を確かめる【素朴な実装】
if/elsifで振り分けていたPerlの掲示板を、Mooで拡張しやすいディスパッチャーに育てる全12回【目次】
自分で作ったディスパッチャーの設計を、チームに一言で伝えられない。名前と構造で整理する【Strategy】
機能を足すたびにif/elsifを書き換えていたBBSを、ルートを1行足すだけにする。部品を1つのクラスにまとめる【ディスパッチャー】
/posts/123のようなURLは、listやformのような名前では振り分けられない。正規表現でパターンを当てる【ルーティング】
ハンドラーを足すたびに、登録の行も1行ずつ伸びていく。アクション名からクラスを読み込んで作る【動的なクラス読み込み】
ハンドラーが増えるたびに、set_handlerで1つずつ差し替えている。名前で登録して呼び分ける【レジストリ】
Dispatcherに一度渡したハンドラーを、途中で切り替えられない。実行時に差し替える【roからrwへ】
どのハンドラーを使うかの判断が、呼び出し側のあちこちに散らばる。振り分けを司令塔クラスに任せる【委譲(handles)】
runのつもりでexecuteと書いたハンドラーに、呼ぶまで気づけない。必須メソッドを起動時に確かめる【requires】
無名サブルーチンに、DBアクセスも検証も描画も詰め込むことになる。機能ごとにクラスへ切り出す【ハンドラークラス】
1
…
38
39
40
…
103