@nqounetです。
このシリーズでは、呪われた高解像度アートを「覗き見」できるギャラリーアプリを作りながら、Proxyパターンの様々なバリエーションを学びます。
シリーズ概要
Proxyパターン(代理パターン)は、あるオブジェクトへのアクセスを制御するための代理オブジェクトを提供するデザインパターンです。
このシリーズでは、以下の5種類のProxyを段階的に学びます。
| Proxy種類 | 主な目的 |
|---|---|
| Virtual Proxy | 遅延初期化(重いオブジェクトを必要時まで生成しない) |
| Protection Proxy | アクセス制御(権限のあるユーザーのみ許可) |
| Caching Proxy | キャッシュによる高速化(結果を保存して再利用) |
| Logging Proxy | 監査ログの集約(アクセス履歴を記録) |
| Remote Proxy | リモートアクセスの抽象化(ネットワーク越しを透過的に) |
想定読者
- Perl入学式を修了した程度のPerl初学者
- 「Mooで覚えるオブジェクト指向プログラミング」シリーズを読んだ方
- デザインパターンに興味があるが、教科書的な解説に退屈している方
学習の流れ
各回で「動くものを作る → 機能追加で破綻 → Proxyで解決」という流れを体験します。なぜProxyが必要なのかを、手を動かしながら実感していただけます。
記事一覧
全画像を一気にロードしてフリーズ…Virtual Proxyで遅延初期化を実装し、必要なときだけ画像をロードする方法を学びます。
鍵付きの呪いの絵にアクセス権限を追加。Protection Proxyで許可されたユーザーだけが閲覧できるようにします。
同じ絵を何度も見るのに毎回ロードは無駄。Caching Proxyで取得済みデータを保持し、2回目以降を瞬時に表示します。
誰がいつどの絵を見たかを追跡。Logging Proxyで監査ログを一箇所に集約します。
画像を外部アーカイブサーバーに移動。Remote Proxyでネットワーク越しのアクセスを透過的に扱います。
技術スタック
- Perl v5.36以降(signatures、postfix dereference対応)
- Mooによるオブジェクト指向プログラミング

