喜迎
春节

设计模式——访问者模式


说明

示例

下面看下访问者模式的代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
interface Visitor{
public function visit(Subject $sub);
}

class MyVisitor implements Visitor{
public function visit(Subject $sub){
echo "visit the subject:" . $sub->getSubject();
}
}

interface Subject{
public function accept(Visitor $visitor);
public function getSubject(): string;
}

class MySubject implements Subject{
public function accept(Visitor $visitor){
$visitor->visit($this);
}
public function getSubject(): string{
return "love";
}
}


// 调用
$visitor = new MyVisitor();
$sub = new MySubject();
$sub->accept($visitor);
// output: visit the subject:love

总结


文章作者: Crazy Boy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Crazy Boy !
评 论
  目录
hexo