您可以讓我知道在atg中ChangeAwareList和ChangeAwareMap有什麼用處?它試圖解決什麼問題。我嘗試閱讀文檔,但無法找到關於相同的任何細節。爲什麼我們使用ChangeAwareList和ChangeAwareMap
2
A
回答
2
ChangeAwareList
和ChangeAwareMap
確保父代RepositoryItem
在更新父項時已添加或刪除關係,以確保新關係從數據庫中插入/刪除。
如果ChangeAwareList
和ChangeAwareMap
沒有被使用,那麼當父項被更新/存儲到存儲庫/數據庫時,那麼你將不得不有一些邏輯循環每個現有的關係,並將它們與更新確定哪些關係需要從數據庫中刪除。這比較麻煩,而且執行效果不如「變化意識」。
這是觀察者設計模式的一個例子。
+0
感謝您的回覆,所以只需確認ChangeAwareSet,ChangeAwareMap只是爲了跟蹤更改。我已經看到一些例子,我們使用ChangeAware集合從存儲庫中讀取數據,所以只是想知道爲什麼它應該用於閱讀。另外在某些情況下,我們在嘗試更改爲普通設置和Map時遇到了類轉換異常。 – Hari
相關問題
- 1. 裝配需要什麼?爲什麼我們使用它們?
- 2. 爲什麼我們使用Groovy中
- 3. 爲什麼我們使用內部類?
- 4. 爲什麼我們要使用HttpContext.Current?
- 5. 爲什麼我們需要使用prompt.start()?
- 6. 爲什麼我們使用ViewTreeObserver#addOnGlobalLayoutListener()
- 7. 爲什麼我們使用setLayoutParams?
- 8. 爲什麼我們使用MapSqlParameterSource
- 9. 爲什麼我們使用@ html.action(string,object)?
- 10. 爲什麼我們使用.htaccess文件?
- 11. 爲什麼我們使用Gtk :: TreeModel :: ColumnRecord
- 12. 爲什麼我們使用jquery.klass?
- 13. 我們爲什麼要使用NSOperationQueue?
- 14. 爲什麼我們使用end Function?
- 15. 爲什麼我們使用canvas.save或canvas.restore?
- 16. 爲什麼我們在jQuery中使用「({})」?
- 17. 爲什麼我們需要使用ExitWindowsEx
- 18. 爲什麼我們使用system.out.flush()?
- 19. 爲什麼我們使用SimpleLoadTimeWeaver?
- 20. 爲什麼我們使用tq_struct?
- 21. 爲什麼我們使用tf.name_scope()
- 22. 爲什麼我們使用Response.ClearHeaders()?
- 23. 爲什麼我們使用cellIdentifier?
- 24. 爲什麼我們使用SpreadsheetApp.flush();?
- 25. 爲什麼我們使用NLS_INSTANCE_PARAMETER?
- 26. 爲什麼我們使用var _show = false;
- 27. 爲什麼我們使用SWIFT
- 28. 爲什麼我們使用@staticmethod?
- 29. 爲什麼我們使用docker-registry?
- 30. 爲什麼我們特別使用JMS?
簡單的效率 - 允許您更新存儲庫項目的多值屬性。 – bated