訪問者模式

2021-08-10 01:50:22 字數 1518 閱讀 7825

封裝一些作用與某些資料結構中的各元素的操作,它可以在不改變這個資料結構的前提下定義作用與這些元素的新操作。1 物件結構比較穩定,但經常需要對此物件結構上定義新的操作。

2 需要對乙個物件結構中的物件進行很多不同的並且不相關的操作,而需要避免這些操作「汙染」這些物件的類,也不希望在增加新的操作時修改這些類。

public

abstract

class staff

public

abstract

void

accept(visitor visitor);

}

public

class

engineer

extends

staff

@override

public

void

accept(visitor visitor)

public

intgetcodeline()

}

public

class

manager

extends

staff

@override

public

void

accept(visitor visitor)

public

intgetproducts()

}

public

class

businessreport

public void showreport(visitor visitor)}}

public

inte***ce visitor

public

class

ceovisitor

implements

visitor

@override

public

void

visit(manager manager)

}

public

class reportuitl else }}

public

class

ctovisitor

implements

visitor

@override

public

void

visit(manager manager)

}

public

static

void

main(string args)

訪問者模式

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

訪問者模式

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

訪問者模式

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