惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
U
Unit 42
F
Fortinet All Blogs
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
Y
Y Combinator Blog
罗磊的独立博客
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
I
InfoQ
博客园 - 叶小钗
博客园 - 聂微东
Last Week in AI
Last Week in AI

博客园 - 如是如是

将博客搬至CSDN 钱钟书夫人杨绛:《一百岁感言》 DOM无关事件 用到了反射,还不错。可以取到动态创建类的值 JounceTabRegion Jounce Blendable RestShart Post 方式传递poco给Web api Using ASP.NET Web API with ASP.NET Web Forms How to Migrate from WCF Web API to ASP.NET Web API ASP.NET Web API MVC-REST-SilverLight 之 架构 MVC-REST-SilverLight 之 RestExample.Model.Silverlight\Customer.cs - 如是如是 MVC-REST-SilverLight 之MainPage.xaml.cs MVC-REST-SilverLight 之 ViewModels\MainViewModel.cs - 如是如是 MVC-REST-SilverLight 之Api\CustomerApi.cs - 如是如是 - 博客园 MVC-REST-SilverLight 之 Global.asax.cs MVC-REST-SilverLight 之 HttpConfiguration MVC-REST-SilverLight 之 MapServiceRoute MEF Export 和 Import 委托
设计模式-访问者
如是如是 · 2011-10-25 · via 博客园 - 如是如是

访问者模式:上门服务的"贱"模式。有两个角色

访问者 和 爷

来看爷,访问者总得做点什么?Visitor.visit(爷)

爷也要,摆个姿态接受下 爷.Accept(Visitor){Visitor.visit('爷')}

具体做什么?访问者说了算,可以理发、修脚、按摩、盘道,随便了。

也只要写个Accecpt,访问者,提供服务方法

爷.Accept(访问者)

{

访问者.Visit(爷);

}

正经点:

访问者模式的目的在于,不改变类的前提下,为类增加一个新的操作

当然,也有这样说的,在不改变一个层次结构中的类的情况下,为一个层次结构定义一个新的操作。

实现的机制是,为访问者定义一个接口(抽象类也行),并将Accept()方法计算入到" 爷"的层次结构中。

利用两次分发机制()访问者先调用"爷"的Accept(Visitor)方法(注意:Visitor访问者是参数),然后,接收

了Accept(Vistor)方法调用的对象将调用结果用一个Visit(this)方法反馈给访问者。(您给的礼,我笑纳了。)

Visit()方法定义在Visitor中。举个例子,理发的方法(Visit),当然理发师掌握着(Visitor)

我家大门常打开,欢迎你来这里…….