ウイスキーのテイスティングノートを題材に、Bridge・Adapter・Proxyの3つの構造パターンを実装。「全部間に入るパターンでしょ?」から卒業しよう。
Perlで秘密のメッセンジャーを作りながらObserver・Decorator・Commandパターンを実践。暗号化・通知・操作履歴の機能を段階的に実装し、3つのGoFデザインパターンの組み合わせ方を体感で学びます。
ASCIIアートの巨大文字を表示しながら、Singleton・Flyweight・Proxyの3パターンを実践。Mooで書くPerlデザインパターン入門。
競合サイトの価格変動、ニュースの更新を自動監視!Observer・Memento・Iteratorパターンを組み合わせて、PerlとMooで実用的なWebページ変更ハンターを作ろう。
ローグライク風ダンジョン生成器を作りながら、Factory Method・Template Method・Strategyの3パターンを手で覚える実践記事
PerlでDiscord/Slack Botを作りながらCommand、Factory、Strategy、Observerパターンを実践で習得。全10章で実用レベルのBotフレームワークが完成します。
PerlでOOPとFPを融合したハイブリッド設計を実践。Mooでイミュータブルオブジェクト、純粋関数、FCISパターン、Types::Standardによる型制約まで、ECサイト注文システムを題材に段階的に学びます。
ターミナルで動作するPixelアートエディタを、PerlとMooで段階的に構築します。Memento+Commandパターンの組み合わせで、無限のUndo/Redo機能を実装する方法を学びましょう。
Perl と Moo で Slack ボットを作りながら、Command・Mediator・Observer を学ぶ全9回の連載。目次を兼ねた案内板で、読む順と各回の内容をまとめています。
入口・Mediator・Command・Observer の役割分担を整理し直し、新しいコマンドを足すだけで済む理由を確かめる。非同期処理、Block Kit、AI 連携といった発展の方向と、全体のファイル構成も載せる。
dispatch を Try::Tiny で包んでクラッシュを防ぎ、エラー時だけ通知する Observer とタイムアウトを足す。Slack の User ID を権限に変える層も整理し、認証は入口、認可は Mediator と分ける。
3つのパターンを bootstrap.pl で組み立て、正常なデプロイ・権限不足・ログ取得の3ケースを動かす。シーケンス図で、入力・処理・出力が Mediator を介して疎結合につながる流れを追う。
コマンドの実行後に起きる処理を、Command に書かず Observer に分ける。Mediator を通知元にして、Slack 通知と監査ログのファイル出力を、コマンドのコードに触れずに足していく。
ボット本体に残った match の総当たりと権限チェックを、Bot::CommandMediator に集める。各コマンドは required_role を宣言するだけになり、Help のように Mediator を使うコマンドも作れる。
Moo::Role で match・execute・description を要求する Command を定義し、Deploy と Log を独立したクラスにする。巨大な if-elsif が、コマンドの一覧を回すだけのループに置き換わる。