訪問者模式

2021-06-03 06:37:33 字數 957 閱讀 6141

1.說明

namespace visitorspattern

///

/// 象棋類

///

public abstract class chess

public class redchess : chess

}public class blackchess : chess

}///

/// 在贏的情況下的狀態

///

public class win : action

", redchess.gettype().name,this.gettype().name);

}public override void getblackchessstate(blackchess blackchess)

", blackchess.gettype().name, this.gettype().name);}}

///

/// 在輸的情況下的狀態

///

public class lose : action

", redchess.gettype().name, this.gettype().name);

}public override void getblackchessstate(blackchess blackchess)

", blackchess.gettype().name, this.gettype().name);}}

///

/// 物件結構:用於集中管理各個物件,並實施對其影響

///

public class objectstructure

public void remove(chess chess)

public void display(action action)}}

2.呼叫

static void main(string args)

訪問者模式

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

訪問者模式

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

訪問者模式

1.意圖 資料結構和對資料結構操作的解耦。特點 資料結構是穩定的,操作是變化的。2 角色 1 抽象訪問者 宣告對所有元素訪問的介面 2 具體訪問者 3 抽象節點 宣告接收訪問者 抽象 為引數的 4 具體節點 5 物件結構 乙個例項的字段,或者使用聚集實現。注意的問題,適用性 1 存在乙個結構 節點的...