想象一下,您有一個objets的集合,並使用Visitor模式 - 您將如何處理從該集合中檢索的null最優雅的?在瀏覽器模式中處理null的有效方法
1
A
回答
4
要麼你的問題需要一些特殊類型的可見對象,要麼你試圖對訪客模式施加太多的責任。 如果您確實有一定不能訪問的有意義的對象,請嘗試空對象模式。
public class NullElement implements Element {
public void accept(ElementVisitor visitor) {
// noop
}
}
+0
+1。比每個訪問者檢查null都好。當然,一個工作是計算空值的訪問者不會工作 - 但你可以找到解決辦法。 – 2011-03-22 00:16:07
1
我看不到不是把一個if (element != null) element.accept(visitor);
如果您使用的番石榴或其他東西的任何方式,你當然可以做一個filter
但似乎矯枉過正。
+1
或者,如果您將元素傳遞給訪問者的'visit()'方法,那麼首先檢查'null'並跳過它。 – 2011-02-26 08:57:16
相關問題
- 1. 在IE瀏覽器中等效的選項卡式瀏覽器
- 2. 瀏覽器SCSS處理器?
- 3. R交互式和批處理模式以及heIp瀏覽器
- 4. 什麼是處理所有瀏覽器的window.onpopstate的理想方式?
- 5. 在JavaScript中關閉處理瀏覽器?
- 6. 在JSF中瀏覽器刷新處理
- 7. 用於處理移動瀏覽器的GWT模式
- 8. Selenium IDE可以有效處理瀏覽器警報
- 9. 多處理瀏覽器?
- 10. 在Internet Explorer中的瀏覽器模式
- 11. 的Javascript處理在瀏覽器
- 12. 桌面瀏覽器和移動Safari瀏覽器的封閉處理方式有所不同?
- 13. 有沒有使用瀏覽器瀏覽WSDL端點的方法?
- 14. 帶有foreach的瀏覽器模式%dopar%
- 15. 如何以編程方式處理瀏覽器對話框
- 16. 在硒中處理多個瀏覽器的最佳方式是什麼?
- 17. 在瀏覽器中處理流JS內容的最佳方式是什麼?
- 18. 在Silverlight中禁用瀏覽器模式
- 19. 在瀏覽器關閉標籤頁或瀏覽器出口處運行方法
- 20. 處理在IE和Chrome瀏覽器
- 21. 在瀏覽器之外處理Webpack
- 22. 在瀏覽器上處理頁面源
- 23. Selenium - 在Microsoft Dynamics CRM中處理模式(兒童瀏覽器)窗口
- 24. 瀏覽器控制瀏覽方法
- 25. 處理草圖在Web瀏覽器中無法正確呈現
- 26. 處理父/子的最有效方法
- 27. 如何在瀏覽器測試中模擬較低的CPU處理器機器
- 28. 網址在瀏覽器中有效,在Excel中無效
- 29. 創建方法未在瀏覽器中
- 30. 瀏覽器不處理如Firefox分塊響應,Safari瀏覽器
爲什麼把空位放在首位呢? – 2011-02-26 09:56:44