訪問者模式定義:主要將資料結構與資料操作分離。
需要處理穩定的資料結構和易變的操作耦合問題,此時可以使用訪問者模式。
以下**演示訪問者模式簡單的實際運用:
定義乙個介面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 抽象訪問者 抽象類或...