訪問者模式

2021-09-28 19:49:13 字數 2091 閱讀 6993

<?php

// php 技術群:781742505

// 訪問者設計模式是一種將演算法與操作物件的結構分離的方法。

// 這種分離的實際結果是能夠在不修改那些物件結構的情況下向現有物件結構新增新操作。

// 這是遵循開放/封閉原則的一種方法。

// visitee

inte***ce

animal

// visitor

inte***ce

animaloperation

class

monkey

implements

animal

public

function

accept

(animaloperation $operation)}

class

lion

implements

animal

public

function

accept

(animaloperation $operation)}

class

dolphin

implements

animal

public

function

accept

(animaloperation $operation)}

class

speak

implements

animaloperation

public

function

visitlion

(lion $lion

)public

function

visitdolphin

(dolphin $dolphin)}

$monkey

=new

monkey()

;$lion

=new

lion()

;$dolphin

=new

dolphin()

;$speak

=new

speak()

;$monkey

->

accept

($speak);

// ooh oo aa aa!

$lion

->

accept

($speak);

// roaaar!

$dolphin

->

accept

($speak);

// tuut tutt tuutt!

class

jump

implements

animaloperation

public

function

visitlion

(lion $lion

)public

function

visitdolphin

(dolphin $dolphin)}

$jump

=new

jump()

;$monkey

->

accept

($speak);

// ooh oo aa aa!

$monkey

->

accept

($jump);

// jumped 20 feet high! on to the tree!

$lion

->

accept

($speak);

// roaaar!

$lion

->

accept

($jump);

// jumped 7 feet! back on the ground!

$dolphin

->

accept

($speak);

// tuut tutt tuutt!

$dolphin

->

accept

($jump

);

訪問者模式

訪問者模式 visitor pattern 訪問者模式是物件的行為模式。訪問者模式的目的是封裝一些施加於某種資料結構元素之上的操作。一旦這些操作需要修改的話,接受這個操作的資料結構則可以保持不變。一 問題 集合是大多數的系統都要處理的一種容器物件,它儲存了對其它物件的引用。一般情況下,在集合上採取的...

訪問者模式

行為模式中的訪問者模式 訪問者模式是物件的行為模式。訪問者模式的目的是封裝一些施加於某種資料結構元素之上的操作,一旦這些操作需要修改的話,接受這個操作的資料結構則可以保持不變。動機 類層次結構中可能經常由於引入新的操作,從而將型別變得脆弱。在軟體構建過程中,由於需求的改變,某些類層次結構中常常需要增...

訪問者模式

1.說明 namespace visitorspattern 象棋類 public abstract class chess public class redchess chess public class blackchess chess 在贏的情況下的狀態 public class win ac...