Advertisement

设计模式之访问者模式实例(C++)

阅读量:

访问者模式解析

描述一种针对特定对象结构中各个组成部分的操作方式,该方式允许我们在不修改各组成部分所属类别的基础上,定义适用于这些组成部分的新操作。

访问者模式由以下五个组成部分构成:Visitor(抽象访问者)、ConcreteVisitor(具体访问者)、Element(抽象元素)、ConcreteElement(具体元素)以及ObjectStructure(对象结构)。

访问者模式实例之购物车

通过类图可以发现,BuyBasket(购物车)具备对Product(产品)进行添加与删除的操作关联,并通过accept函数将Visitor参数传递给Product,从而实现Product对Visitor的被动访问(实际上是在Product内部调用Visitor的visit函数,并传递this指针以识别具体的产品实例,该过程涉及函数重载)。

以下为C++语言的实现方式。

抽象访问者Visitor(访问者类)

复制代码
 //抽象访问者Visitor(访问者类)

    
 class Apple;
    
 class Book;
    
 c

全部评论 (0)

还没有任何评论哟~