虫虫首页|资源下载|资源专辑|精品软件
登录|注册

visitor

  • 设计模式——访问者模式 visitor模式允许我们在不改动原有结构的基础之上不断增加新的功能。 ICumulation接口定义了方法Cumulate()

    设计模式——访问者模式 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

    上传用户:上善若水

  • JAVA设计模式visitor详解

    JAVA设计模式visitor详解,电脑专卖系统源代码及详解!

    标签: visitor JAVA 设计模式

    上传时间: 2014-01-10

    上传用户:shizhanincc

  • 设计模式之visitor

    设计模式之visitor,设计模式之visitor

    标签: visitor 设计模式

    上传时间: 2016-10-08

    上传用户:cx111111

  • Javascript Browser Sniffer is a library for identifying which browser and operating system the visit

    Javascript Browser Sniffer is a library for identifying which browser and operating system the visitor is using, including the version number. It also detects bots and the Flash plugin

    标签: identifying Javascript operating Browser

    上传时间: 2013-12-10

    上传用户:大三三