我有一個簡單的設計問題。我不確定如何設計關於可伸縮性和麪向對象的以下「情況」。 (updateInX(),updateInY())似乎是一個糟糕的設計,但我不知道如何改進它。我會感謝您的幫助!在不同的上下文中避免同一方法的多個實現
0
A
回答
2
此問題可以使用Template method design pattern解決。您將基本定義包含抽象方法的抽象類,它必須被覆蓋,並將計算本身留在抽象類上。例如
public abstract class Something {
public void update(){
updateInX();
updateInY();
printResult();
}
private void printResult() {
//print
}
protected abstract void updateInX();
protected abstract void updateInX();
}
這將使一個子對象只實現必要的方法並將計算留在基類上。
相關問題
- 1. 避免同一個JS文件的多個實例
- 2. 把同一個類的方法實現放在不同的目標文件中
- 3. 如何實現「dayDidChange」方法,同時避免使用NSTimer?
- 4. 避免將同樣的理由來多種方法在同一類
- 5. AS3:避免同一類別的多個實例
- 6. Android:避免同一活動的多個實例?
- 7. 如何避免讓不同的方法循環同一個列表?
- 8. 我如何避免同一張桌子上的多個連接?
- 9. 嘗試避免多個eclipse編輯器打開同一個文件的實例
- 10. 在不同的類中實現相同的方法
- 11. Mysql,如何避免多個連接在同一張表上
- 12. 如何避免在WCF服務接口中實現同步或異步方法
- 13. 同一個多方法的不同方法之間的遞歸
- 14. 避免多次加載同一個彈簧文件的能力
- 15. 什麼是在C++中實現多態的不同方法
- 16. 避免重複的方法在C#中的實現
- 17. 在同一個文件中實現多個窗口的功能?
- 18. 在同一個Java VM上使用不同的DocumentBuilder實現
- 19. 不同版本的多個上下文
- 20. 避免同一個文件服務器被從不同的服務中提取
- 21. 如何避免具有不同類層次的新類的相同實現
- 22. C++/Eclipse cdt,避免實現相同的功能,但具有不同的簽名
- 23. 如何避免同一個域下不同目錄間的交叉讀取?
- 24. 如何避免重寫相同的代碼在不同的方法
- 25. 如何避免多個redirect_to的方法
- 26. 同步方法,以避免死鎖
- 27. 如何避免在查詢中多次加入同一個表?
- 28. 在同一頁面上實現多個幻燈片的每個()
- 29. 實現換行的不同方法
- 30. 如何避免類java的同一個實例正在運行多次
這並不完全清楚你在問什麼。你是說你不喜歡不斷重寫'updateInX/Y()'? – christopher
@Chris。究竟! X和Y是例子。我可以有A,B,C ... X,Y,Z等。 – uccie