- 浏览: 487462 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
gapper:
多谢!!!
软件项目解决方案模板 -
lxyizy521:
感谢你无私的分享,正头疼文档的事情呢。
软件项目解决方案模板 -
flyisland:
不错的资料收集的心得,多谢分享!
如何从小工到专家——Dreyfus模型应用 -
a254124185:
Java编码规范及实践 -
clj2008tom:
LZ好久没更新了,呵呵
graphviz 在redhat as4 下的安装
参观者模式主要对一组固定结构的对象进行访问,一般和组合模式一起使用。
abstract class Hardware{ protected double price; protected double getPrice(); void accept(IComputerVisitor visitor); } class Mainboard extends Hardware{ void accept(IComputerVisitor visitor){ visitor.visitMainboard(this); } } class Memory extends Hardware{ void accept(IComputerVisitor visitor){ visitor.visitMemory(this); } } class Display extends Hardware( void accept(IComputerVisitor visitor){ visitor.visitDisplay(this); } } class NetworkAdapter extends Hardware{ void accept(IComputerVisitor visitor){ visitor.visitNetworkAdapter(this); } } class Computer extends Hardware[ private List<Hardware> parts = new Arraylist(); public List<Hardware> add(Hardware hardware){ parts.add(hardware); return parts; } public void accept(IComputerVisitor visitor){ for(Hardware h: parts){ h.accept(visitor); } } } interface IComputerVisitor{ void visitMainboard(Mainboard mainboard); void visitNetworkAdapter(NetworkAdapter adapter); void visitDisplay(Display display); void visitMemory(Memory memory); } //遍历 computer 的每个部件,汇总价格 class PriceVisitor implements IComputerVisitor{ //总价格 private double amountPrice; void visitMainboard(Mainboard mainboard){ amountPrice += mainboard.getPrice(); } void visitNetworkAdapter(NetworkAdapter adapter) { amountPrice += adapter.getPrice(); } void visitDisplay(Display display) { amountPrice += display.getPrice(); } void visitMemory(Memory memory) { amountPrice += memory.getPrice(); } }
Client:
Computer computer = new Computer(); Mainboard mainboard = new Mainboard(); NetworkAdapter networkAdapter = new NetworkAdapter(); Display display = new Display(); Memory memory = new Memory(); computer .add(mainboad) .add(networkAdapter) .add(display) .add(memory); IComputerVisitor visitor = new PriceVisitor(); visitor.accept(computer);
发表评论
-
如何在公司中引入新思路——fearless change
2009-09-28 00:21 1413我前面的博客也提到,在一个公司中,引入一个新的想法,获得成功并 ... -
Code Review Patterns
2009-06-23 09:57 1509整理了一下Code Review中 ... -
团队分析与设计(TeamAnalysisDesignPattern)
2009-04-11 14:31 14461)Problem 问题域比较复杂,团队中没有人能 ... -
极限会议模式(ExtremeMeeting)
2009-03-17 13:38 1893名字自己随便取的,如有雷同,纯属巧合。 1. Proble ... -
5W问题分析模式
2009-03-10 08:41 01. Problem 当遇到问题,手足无措时。 2. So ... -
影响分析模式(InfluenceAnalysisPattern)
2009-03-06 23:58 12581. Problem 解决问题,进行决策和面对改变时, ... -
全局目标导向模式(GlobalTargetOrientedPattern)
2009-03-05 23:08 9641. Problem 一个团队在做事情的过 ... -
通讯录模式(AddressListPattern)
2009-03-02 22:10 1527模式是实践的抽象,今天我来总结一下通讯录模式。 1. Pr ... -
导航者模式(NavigatorPattern)
2009-02-28 10:40 01. Problem 人是容易犯错的,而且但线条的。 ... -
Double Dispatch(双分派)
2009-02-04 11:24 2501参考资料: http://en.wikipedia ... -
有人的地方就有江湖
2009-01-30 08:54 2343有人的地方就有 ... -
设计模式快速参考-模板方法模式
2008-12-06 07:21 1094abstract class TravelTemplate ... -
设计模式快速参考-策略模式
2008-12-06 07:17 1208//密钥对生成接口 interface IKeyPairGen ... -
设计模式快速参考-观察者模式
2008-12-06 07:13 1315//主题,这里是快餐店 class SnackShop{ ... -
设计模式快速参考-命令模式
2008-12-06 07:10 1311interface ICommand{ void e ... -
设计模式快速参考-代理模式
2008-12-06 07:07 1247class FileDownloader( publ ... -
设计模式快速参考-外观模式
2008-12-06 07:03 1078为一组类提供简单的外部接口,使外部调用者不需要和所 ... -
设计模式快速参考-组合模式
2008-12-06 07:00 1080abstract class Hardware{ } cla ... -
设计模式快速参考-适配器模式
2008-12-06 06:49 1267interface Powerable{ 110v ... -
设计模式快速参考-单例模式
2008-12-06 06:46 1227class Singleton{ private Si ...
相关推荐
### 博物馆旅游行业创新发展必然性分析 #### 1.1 博物馆旅游行业发展特性 ##### 1.1.1 博物馆旅游的内涵 博物馆旅游是指以参观博物馆为主要活动的一种旅游形式...这对于推动我国博物馆旅游的发展具有重要的参考价值。
- **参观者模式**:表示一个作用于某对象结构中的各元素的操作。 了解这些设计模式有助于开发者更好地解决实际问题,并编写出更加灵活和可扩展的代码。 #### 七、代码重构 最后,“代码重构”章节讨论了如何通过...
1. 物业管理学习与参观:该文档描述了一次物业管理团队的参观学习活动,参与者前往武汉某知名物业公司,目的是了解并学习其先进的物业管理经验和运作模式。 2. 物业管理先进模式:xx物业公司采用的管理模式是矩阵式...
在商业展示中,它能根据展览主题变换音效,增强参观者的互动体验。 文档可能还包含了案例研究,分析了具体项目中可变式新媒体音响的应用效果和用户反馈,以证明其在实际应用中的价值和创新性。同时,对于设计师和...
在展览展示中,3D互动沙盘可以吸引参观者的注意力,提高展览的吸引力;在教育训练中,它可以用于地理教学、军事演练等,提供安全且可重复的模拟环境。 “3D多媒体互动虚拟沙盘.pdf”可能是一份详细的技术文档或案例...
该系统能够实时捕获参观者的位置信息,通过信号处理和无线传输,与参观者进行互动。 在系统设计中,有几个关键的技术点: 1. **多路传感器信号的采集与处理**:系统需要集成多种类型的传感器,如红外传感器,用于...
#### 六、设计模式快速参考 第七章提供了对常见设计模式的简要介绍和示例,有助于开发者更好地解决特定问题。 ##### 7.1 工厂模式 - **简单工厂**:提供一个创建产品对象的静态方法。 - **工厂方法**:定义一个...
### 个人总结:发明专利说明书参考模板 #### 技术领域 本发明主要聚焦于展览行业中对参展人员消费偏好的调查分析方法与系统,特别强调利用RFID(射频识别)技术自动化获取参展人员消费偏好信息。 #### 背景技术 ...
- **数据收集分析**:收集参观者的行为数据,如点击、浏览时间等,为企业分析参观者的偏好提供有价值的参考信息。 综上所述,3D多元化数字空间虚拟展营销方案凭借其高度的沉浸感、互动性和灵活性,在当前数字化转型...
在这场盛会上,照明科技扮演了极其重要的角色,通过各种创新的设计与应用,为参观者带来了前所未有的视觉享受。本文将详细探讨上海世博会期间照明科技的应用案例,揭示其背后的科技原理及设计理念,为未来的城市照明...
3. **旅行社销售渠道模式**:旅游经营商通过旅行代理商销售产品给旅游者,这属于多层次旅行社销售渠道模式,这种模式允许旅行社通过多种渠道扩大市场覆盖面。 4. **旅行社分社的选址**:旅行社分社的地理区位选择可...
这些研究成果可能涉及到了数字化技术如何重塑传统博物馆的展示方式,以及如何通过创新设计提升参观者的体验感和互动性。 在数字化博物馆的设计中,空间艺术形态展示模式是关键。它可能涵盖了虚拟现实、增强现实等...
职业院校在单片机课程的教学模式上,通常面临课堂教学效果不理想、工程应用性不强等问题。为了改善这一局面,相关教育工作者们提出了...这种教学模式的探索与实践,对于职业院校单片机课程的发展具有重要的参考价值。
在这个过程中,设计师可能会预设一个主题,就像讲述一个故事,通过这个故事来引导参观者的体验,使他们能够更好地理解和记住展示的信息。 接下来是【概念的渲染】阶段,这是将初步的概念具体化和深化的过程。设计师...
新天地的成功不仅在于其建筑设计的创新,更在于其商业模式的巧妙运用。 1. **项目概况** 上海新天地的投资总额约为1.5亿美元,1999年初开始建设,2000年6月完成新天地广场的一期工程,2001年9月正式对外营业。占地...
在农业科技展览馆中,智能服务机器人的应用越来越广泛,其设计旨在为公众提供全面的服务功能,同时提高农业科技展览馆的效率和参观者的体验。本文提出了一种智能服务机器人的设计构想,这种机器人结合了多种先进技术...
- 销售流程初步固化,项目运作采用“巴展-高层互访-样板点参观”模式。 - 地区部-代表处和地区系统部组成的双矩阵组织结构确立。 - “铁三角”体系形成,推动员工专业化发展。 #### 3. 农耕时代 (2015-2020年) -...
设计与预算的目的是构建一个展示农业发展趋势的平台,让参观者了解现代农业的现状和未来方向,从而激发对农业美好前景的期待。 综上所述,这份5760平方米现代农业示范园的设计与预算文件全面涵盖了从温室设计、...
### 东财《旅游规划学》20春单元作业一参考答案 #### 旅游规划的重点 1. **项目设计**(A):在旅游规划中,项目设计是基础且核心的部分,它涉及到具体旅游产品的构思与设计,如景点建设、体验活动策划等。 2. **...