在一個應用程序中我有很多不同的對象,讓我們說:方形,圓形等......很多不同的形狀--->對不起爲簡單的例子。「訪問者」很多不同類型的對象
這一切的目的,我想創建不同類型的文檔:XML,TXT,HTML等。(如:我想掃描所有的對象(形狀)樹和產生XML文件
我認爲的自然方法是訪問者模式,我嘗試過它的工作原理:-) - 所有對象都有一個訪問方法接受IVisitor接口。 - 我有一個具體的訪客爲我想創建的每一種:(XmlVisitor
,TxtVisitor
等)。每個訪問者都有一種方法「訪問」每一種對象。
我的疑問是......如果我有很多對象,它看起來好像不是很好...... 從邏輯的角度來看它沒關係,我只是添加了新的形狀和方法在具體的訪問者中,就是這樣。
您認爲如何?是否可以替代?
是什麼讓你覺得它可能不能很好地擴展? – Mik378
我認爲你應該指定你看到的性能問題是關於實際的對象數量(所以實際的調用次數)還是虛擬方法函數調用添加的開銷? 虛擬函數調用添加的開銷不用擔心。 – VladT