RPG戦闘エンジン第3回。行動選択にif/elseを使うと、条件分岐が爆発的に増えて破綻します。この問題を実際のコードで体験し、なぜリファクタリングが必要なのかを理解します。
RPG戦闘エンジン第2回。攻撃だけでなく防御やアイテム使用など、行動の種類を増やします。Actionクラスを設計し、各行動を独立したクラスとして分離する方法を学びます。
PerlとMooでテキストRPG戦闘エンジンを作成するシリーズ第1回。プレイヤーと敵が交互に攻撃する最小限の戦闘ループを実装します。Characterクラスを定義し、ターン制バトルの基礎を学びましょう。
シリーズ「Perl API統合パターン」の目次です。全8回の記事へのリンクをまとめています。
Perl API統合パターンの総まとめ。Adapter・Facadeパターンの正体とSOLID原則との対応関係を解説。完成したコードで実務レベルの設計を振り返ります。
PerlのTry::Tinyによる例外処理とNull Objectパターンを組み合わせ、全API失敗時でもシステムを停止させない堅牢なエラーハンドリングを実装します。
PerlでAPIキャッシュ戦略を実装。Cache::LRUとTTL(有効期限)管理により、APIリクエスト数を削減しパフォーマンスを最適化する方法を解説。
PerlでFacadeパターンを実装し、複数APIを統一インターフェースで管理。フォールバック機能で可用性向上。実践的な設計を学びます。
Adapterパターンだけでは解決できない「呼び出し側の複雑さ」を整理。Facadeパターン導入の必要性と、API統合における新たな設計課題を解説します。
PerlでAdapterパターンを実装し、OpenWeatherMapとWeatherStackの異なるインターフェースを統一。ポリモーフィズムによる柔軟な設計をMooで実現します。
複数API統合で発生する課題(インターフェース不一致、条件分岐の複雑化)を解説。Perlで実装し、なぜ設計パターンが必要になるかを体験します。
Perl HTTP::TinyでAPI統合の基礎を学ぶ。OpenWeatherMap APIを使い、JSON解析・エラーハンドリングを実装。初心者向けに丁寧に解説します。
シリーズ「Perlで作るファイルバックアップツール」の目次です。全8回の記事へのリンクをまとめています。
シリーズの総括。使用したデザインパターンのメリットを振り返り、クラウドストレージ連携など、さらなる拡張の可能性を探ります。
失敗時のリトライ、進捗ログ、エラーレポート機能を追加し、本番運用レベルのバックアップツールを完成させます。