セクション
1543 ページ目
Posts
作ってきた本棚の巡回は、Iteratorパターンそのものだった。ループを変えずに逆順で回す【Iteratorパターン】
走査クラスを差し替えると、呼び出し側のnewまで直すことになる。本棚にiterator()を持たせて生成を任せる【iterator()メソッド】
インデックスを数えるループが、本棚を使う所ごとに増えていく。has_nextとnextだけの専用クラスに任せる【イテレータ】
本棚の配列をforで直接回すと、中身の作りを変えたとき呼び出し側をすべて直すことになる。番号で取り出しても残る依存を確かめる【カプセル化】
何冊もの本を、配列のまま持ち歩かない。MooでBookとBookShelfの2クラスに分けて作る【集合体】
Mooは書けて、設計パターンは初めて。Perlで天気ツールを作りながらAdapterパターンにたどり着く全5回【目次】
作ってきた橋渡しクラスには名前があった。GoFのAdapterパターンとして整理する【Adapter】
3つ目は都市コードで英語の天気を返す。橋渡しを足して、3サービスを1つのループで回す【多態性】
古いAPIのコードには手を入れたくない。包んで同じメソッド名で呼べるようにする【委譲とラッピング】
天気APIをもう1つ足したら、メソッド名も戻り値も違って同じループで回せない【インターフェースの不一致】
天気を返すだけのクラスでも、先に形を決めておく。Perlで都市名から天気を返すクラスを作る【Moo】
Webアプリ開発が初めてでも、Mojolicious::LiteとSQLiteでPerlのURL短縮サービスを作り切る全12回【目次】
動くけれど見た目は素っ気なく、app.plに全部が詰まっている。画面を整え、Mooのクラスに分ける【仕上げ】
javascript:alert(1)まで短縮URLとして登録できてしまう。httpとhttps以外を断る【入力バリデーション】
元のURLは引けたのに、画面に出すだけで飛ばない。ブラウザを元のページへ転送する【302リダイレクト】
1
…
36
37
38
…
103