设计模式——访问者模式 Visitor模式允许我们在不改动原有结构的基础之上不断增加新的功能。 ICumulation接口定义了方法Cumulate(),旨在计算1+2+……+n,有两种不同的实现方法,一个是一般的叠加算法GeneralArithmetic,一个是高斯算法GaoSiArithmetic。 因为某种原因,系统需要添加求平均值的功能,还有计算1到n的平方和。 按照一般的思路,我们需要在ICumulation中定义两个方法分别计算平均值和平方和,并在实现类中同时添加相应的方法。在搭建了visitor模式的架构以后,添加功能的代码被移植到ICumulationVisitor中,添加的两种功能也分别被以子类AverageVisitor和PowerVisitor实现。 功能的扩展从在类中添加方法的方式变成了添加新类的方式,该类继承一定的Visitor接口。这是一个90度的转换,使得架构符合开放封闭(OCP)原则:功能的扩展无需改动原有代码。 同时,这里也体现了单一职责原则(SRP),ICumulation层次结构可以因为出现了不同的算法而改变,但是不应该因为需要计算不同的东西(功能)而改变,算法和功能是横向和纵向的关系。这里visitor模式隔离了算法和功能,ICumulation层次结构负责算法,ICumulationVisitor层次结构负责功能。
标签: ICumulation Cumulate Visitor 模式
上传时间: 2015-06-12
上传用户:上善若水
通过讨论常见的串口软件使用的方法,提出基于一种称之为双缓冲队列的串口缓冲区管理策略的串口软件模块的实现方法和其中要注意的问题。
上传时间: 2015-06-15
上传用户:xuan‘nian
计算方法中的三弯矩方法,用matlab编写,其中包括几种不同的实现方法。
标签: 计算方法
上传时间: 2015-06-23
上传用户:zgu489
第一章 RAID知识介绍2 1.1 RAID0:条带化2 1.2 RAID13 1.3 RAID0+13 1.4 RAID54 第二章 RAID的实现5 2.1软件RAID5 2.2硬件RAID5 第三章 RAID卡原理6 第四章 Mylex Accele352 RAID 卡设置与使用9 4.1 Mylex Accele352 RAID卡简介9 4.2 RAID卡配置方法9 4.3 RAID阵列的管理10 第五章 Adaptec3200s RAID卡13 5.1 Adaptec3200s RAID卡简介13 5.2 RAID卡配置方法13 5.3 RAID阵列的管理14 第六章 Adaptec2100s RAID卡17 6.1 Adaptec2100s RAID卡简介17 6.2 RAID卡配置方法17 6.3 操作系统安装18 6.4 RAID阵列的管理24
上传时间: 2015-06-27
上传用户:a6697238
为了实现的编译程序实用,源程序可采用自由书写格式,即一行内可以书写多个语句,一个语句也可以占领多行书写;标识符的前20个字符有效;整数用2个字节表示;长整数用4个字节表示。这样词法分析程序的主要工作为: (1)从源程序文件中读入字符。 (2)统计行数和列数用于错误单词的定位。 (3)删除空格类字符,包括回车、制表符空格。 (4)按拼写单词,并用(种别,单词)二元式表示。 (5)根据需要是否填写标识符表供以后各阶段使用。 这里采用的编译程序的实现方法是一遍扫描,即从左到右只扫描一次源程序,也就是词法分析作为语法分析的一个子程序。故在编写词法分析程序时,用重复调用词法分析子程序取一单词的方法得到整个源程序的二元式流。
上传时间: 2014-12-22
上传用户:邶刖
立体声处理电路的实现,讲解了立体声电路具体实现方法。
上传时间: 2015-07-13
上传用户:253189838
这是一个图像过滤功能的实现,主要应用的是聚类方法。
标签: 图像
上传时间: 2013-12-04
上传用户:dragonhaixm
图像一维熵的计算方法。读入彩色图像,利用图像信息熵的计算公式,设计算法,实现熵的计算。
上传时间: 2015-09-04
上传用户:Andy123456
摘要: 个人防火墙因其简单、有效而被广泛使用在网络环境下的微机系统中。本文分析了简易个人防火墙软 件的设计方法。系统的设计是采用基于Windows 9x/ 2000 平台上VC 6. 0 的编程环境,结合基于外包技术创建 DLL(动态链接库) 的方法而实现的。
上传时间: 2014-11-30
上传用户:13215175592
基于Verilog-HDL的硬件电路的实现 9.1 简单的可编程单脉冲发生器 9.1.1 由系统功能描述时序关系 9.1.2 流程图的设计 9.1.3 系统功能描述 9.1.4 逻辑框图 9.1.5 延时模块的详细描述及仿真 9.1.6 功能模块Verilog-HDL描述的模块化方法 9.1.7 输入检测模块的详细描述及仿真 9.1.8 计数模块的详细描述 9.1.9 可编程单脉冲发生器的系统仿真 9.1.10 可编程单脉冲发生器的硬件实现 9.1.11 关于电路设计中常用的几个有关名词
标签: Verilog-HDL 9.1 功能描述
上传时间: 2015-09-16
上传用户:chfanjiang