#MOC
[[🗃️オブジェクト]]の操作を分離し、別の[[🗃️クラス]]に集中させるための[[🗃️デザインパターン]]
## 例
動物の種類は安定しているが、それぞれの動物に対する行動(餌をやるなど)は新しく追加されることがある。
- `AnimalOperation`(Visitor)
```mermaid
classDiagram
Animal <|.. Monkey
Animal <|.. Lion
AnimalOperation <|.. Feeding
AnimalOperation : +visitMonkey(Monkey)
AnimalOperation : +visitLion(Lion)
Animal : +accept(AnimalOperation)
Monkey : +accept(AnimalOperation)
Lion : +accept(AnimalOperation)
Feeding : +visitMonkey(Monkey)
Feeding : +visitLion(Lion)
```
## 📚ドキュメント
[13.Visitor パターン | TECHSCORE(テックスコア)](https://www.techscore.com/tech/DesignPattern/Visitor)
## 📖ノウハウ
## 💁トラブルシューティング