Tags
413 ページ目
Moo
状態クラスがdispenseを書き忘れたら、withの時点で止めたい【Moo::Role requires】
状態をif/elseで見分けるのをやめて、「待機中」そのものをMooのクラスにする【状態クラス】
「払い出し中」と「売り切れ」を足したら、自動販売機のどのメソッドにも4つの分岐が並んだ【コードの臭い】
自動販売機の「待機中」と「コイン投入済み」を、Perlのstate属性とif/elseで切り替える【if/else】
if文がネストしていくPerlのユーザー登録バリデーションを、検証ルールごとのクラスに分けてChain of Responsibilityにたどり着く全3回【目次】
ネストしたif文に埋もれた検証ルールを、1ルール1クラスに分けて鎖でつなぐ【Chain of Responsibility】
パスワード・確認一致・利用規約・年齢を足したら、validate_userのif文が3段にネストした【コードの臭い】
ユーザー登録フォームの入力チェックを、Perlのif文だけで書いてみる。名前とメールアドレスから始める【if文】
形式を足すたびにif/elseが伸びるPerlのデータエクスポーターを、Mooで育ててStrategyパターンにたどり着く全10回【目次】
形式ごとのクラスを差し替えて使う設計には、Strategyという名前がある。作ったクラスを3つの役割に当てはめる【Strategyパターン】
部品はそろったのに、まだYAMLで出せない。YamlExporterを足し、全部を1本のエクスポーターにまとめる【統合】
出力はクラスに分けたのに、どのクラスをnewするかのif/elseがメインに残っている。形式名から選ぶexporter_forを作る【Factory的な選択】
エクスポーターでない値を入れても、export_dataを呼ぶまでエラーにならない。isaでExporterRoleかを確かめ、入れた時点で止める【isa】
同じデータをCSVとJSONの両方で出したいのに、作ったあとでエクスポーターを替えられない。exporterをrwにして実行中に切り替える【実行時の切り替え】
メイン処理がエクスポーターを直接呼んでいて、同じ出力を別の場所で使うとコードを写すことになる。処理を任せるDataExporterを作る【委譲】
1
…
22
23
24
…
28