Java設計模式之訪問者模式 Visitor 實踐

2021-09-22 08:11:17 字數 1494 閱讀 8443

訪問者模式定義:主要將資料結構與資料操作分離。

需要處理穩定的資料結構和易變的操作耦合問題,此時可以使用訪問者模式。

以下**演示訪問者模式簡單的實際運用:

定義乙個介面gohome:

package com.ldl.cn.visitormodel;

public inte***ce gohome

定義乙個類gohometransport實現gohome:

package com.ldl.cn.visitormodel;

public class gohometransport implements gohome;

}@override

public void use(transport transport)

transport.use(this);

}}

分別定義類byair、bytrain、byboat實現gohome:

package com.ldl.cn.visitormodel;

public class byair implements gohome

}

package com.ldl.cn.visitormodel;

public class bytrain implements gohome

}

package com.ldl.cn.visitormodel;

public class byboat implements gohome

}

定義乙個介面transport:

package com.ldl.cn.visitormodel;

public inte***ce transport

定義乙個類xiaomingtransport實現transport:

package com.ldl.cn.visitormodel;

public class xiaomingtransport implements transport

@override

public void use(bytrain bytrain)

@override

public void use(byboat byboat)

@override

public void use(gohometransport gohometransport)

}

編寫測試類:

package com.ldl.cn.visitormodel;

public class testvisitorpattern

}

測試結果:

小明坐飛機回家.

小明坐火車回家.

小明坐船回家.

小明使用交通工具回家.

Java設計模式之訪問者模式

訪問者的基本想法是 軟體系統擁有乙個由許多物件構成的 比較穩定的物件結構,這些物件的類都擁有乙個accept方法用來接收對訪問者物件的訪問,而訪問者是乙個介面,他擁有乙個visit方法,這個方法對訪問到的物件結構中不同型別的元素做出不同的處理。在物件結構的一次訪問過程中,我們遍歷整個物件結構,每乙個...

Java設計模式之訪問者模式

單個單子的介面 相當於element public inte ce bill 消費的單子 public class consumebill implements bill public void accept accountbookviewer viewer public double getamo...

設計模式(JAVA) 訪問者模式

場景 將公司中所有人員資訊都列印匯報出來,其中假設公司有兩類人員 1.普通員工 2.管理層 不同人員型別的資訊是不同的。訪問者模式 定義 封裝一些作用於某種資料結構中的各元素的操作,它可以在不改變資料結構的前提下定義作用於這些元素的新的操作。包含如下幾個角色 1.visitor 抽象訪問者 抽象類或...