Day55. 访问者模式

本文同步更新於blog

Visitor Pattern

允许在不改变组合内各元素的情况下,增加各元素的新操作。。


访问者模式会将类别分为两类:
分别是访问者类别 (Visitor)元素类别 (Element)

让原本属於元素的行为,变成访问者类别 (Visitor)
根据传入元素的不同,会有对应的行为,紧耦合於元素类别 (Element)


优点
将操作从元素类别抽离,使其能独立变化。
容易新增/修改访问者类别。

缺点
难以增加新的元素。
破坏了原本元素的封装。
会使程序码复杂度提高。


与其他模式的比较:

[组合模式]:
访问者模式可能会使用到组合模式的技巧。

[迭代器模式]:
访问者模式可能会使用到迭代器模式的技巧。


ʕ •ᴥ•ʔ:访问者模式改变了原本的主从关系。


<<:  iOS APP 开发 OC 第六天, 类&对象

>>:  iOS APP 开发 OC 第六天, 方法的声明实现和调用

面对自己阴暗面的修练

不管是Scrum Master或者扮演Product Owner,抑或是传统的专案管理者,在整个专案...

Day11 - 除噪模型: FCDAE

全连接神经网路的层和层之间,神经元都是互相连接,而层内的神经元彼此没有连接。我们会使用两种 FCDA...

Day 03 - 环境安装(下) JDK & Spring Tool Suite

环境安装的最後一个环节,就是安装我们的开发工具,本篇教学使用Spring Tool Suite (S...

Day16【Web】网路攻击:连线劫持/Cookie 窃取

Cookie 窃取/连线劫持 英文为 Session Hijacking 或 Sidejacking...

Day 24 - 实战演练 — FormControl

之前有讲到非 input-like 的表单情境也需要处理,这时候就是 FormControl 出场...