デザインパターンに関するGoFの本は、Visitor
パターンについて次のように述べています。
ビジターを使用すると、操作する要素のクラスを変更せずに、新しい操作を定義できます。
私はその本からパターンを読みましたが、このパターンに名前を付けることの背後にある直感を理解できませんVisitor
でした。なぜ呼ばれるのVisitor
ですか?
デザインパターンに関するGoFの本は、Visitor
パターンについて次のように述べています。
ビジターを使用すると、操作する要素のクラスを変更せずに、新しい操作を定義できます。
私はその本からパターンを読みましたが、このパターンに名前を付けることの背後にある直感を理解できませんVisitor
でした。なぜ呼ばれるのVisitor
ですか?
この人気のあるフランス語の表現/ジョークがあります:「Faiscomme chez toi mais n'oublie pas que tu es chez moi」は、「家にいるようにしますが、それが私の家であることを忘れないでください」と訳します。
もともとこのようにパターンに名前を付けた人のことを正確に伝えるのは難しいと思いますが、直感的には「おもてなし」のコンセプトとの類似性だと思います。
クラスは、パブリックメソッド(ドア?)から訪問者にアクセスを許可できます。重要なのは、訪問者/ゲストが誰であるかに応じて特定のアクションを実行しようとするのではなく、クラスは単に適切な動作を訪問者に委任することです(自分を家に帰してください...)。つまり、Visitorは、そのHostクラスの公開動作を使用します(これが私の家であることを忘れないでください...)。