概念的な例
この例は、 Visitor デザインパターンの構造を説明するためのものです。 以下の質問に答えることを目的としています:
- どういうクラスからできているか?
- それぞれのクラスの役割は?
- パターンの要素同士はどう関係しているのか?
ここでパターンの構造を学んだ後だと、 これに続く、 現実世界の PHP でのユースケースが理解しやすくなります。
index.php: 概念的な例
Output.txt: 実行結果
現実的な例
この例では、 Visitor パターンを使い、 既存のクラス階層 「Company > Department > Employee
」 に新しいレポート機能を導入します。
一旦 Visitor の仕組みがアプリに追加されれば、 既存コードを変更することなく、 アプリに違う類似の振る舞いを簡単に追加できます。
index.php: 現実的な例
Output.txt: 実行結果