mirror of
https://github.com/crazybber/go-pattern-examples.git
synced 2024-11-22 03:46:03 +03:00
.. | ||
README.md | ||
visitor_test.go | ||
visitor.go |
访问者模式
访问者模式,
访问者模式的目的是为了解耦对象和对象的使用和处理逻辑,一边提供资源,一边使用,也可以说是解耦生产出来的产品和产品消费者。
一个石油的例子,油田提供石油,不同的客户将石油用到不同的地方,可能用于生产武器,可能用于提纯材料,生产服装,也可能只是用于只是用于提供动力,这些客户就是石油的不同visitor.
客户买石油的时候,都要遵循油田的购买方式,否则,就不卖给你,这个特定的购买方式就是指Visitor模式中常说的Accept方法。
打游戏是个不错的例子。
玩家角色需要跟NPC,其他玩家,以及游戏环境,交换这些都是Visit的过程.