我想正確理解分層體系結構的概念。我認爲我理解了大部分的概念,但是有一兩件事對我來說還是不清楚......瞭解域層和基礎設施層之間的交互
所以我理解每個單獨層的目的:表示層是用於UI和用戶交互的,應用層座標應用程序邏輯和域對象,域層是所有業務邏輯去的地方,基礎設施層用於持久性和訪問外部服務,如網絡能力等。
我知道每層只應該依賴於下面的圖層它,並且這些圖層應該用接口分開。我很難理解,雖然是領域層和基礎設施層之間的交互...
我正在開發一個數據庫爲中心的桌面應用程序。我最初的做法是將所有信息從數據庫中提取到內存域模型中。然後,該模型將在應用程序的持續時間內存在,然後只有在用戶保存後纔會保留到數據庫。雖然我對這種方法有懷疑,但從我所讀的內容來看,似乎我只應根據需要從數據庫中提取數據。換句話說,將信息拉入對象中,編輯對象,並在完成後將對象推回到數據庫中。但是,讓我困惑的是,一旦他們離開數據庫,這些對象就會從狀態中斷開。所以我們可以說我從數據庫中提取對象A並編輯它。在將其提交回數據庫之前,應用程序的另一部分還將對象A從數據庫中提取出來。同樣的兩個對象現在生活在我的領域層,具有不同的參考和不同的狀態。這對我來說就像是一場噩夢。我錯過了什麼嗎?我是否應該只允許一次交易以避免此問題?
我的初始方法是將所有數據拉入內存模型是否錯誤?我的應用程序可能有多達10000條記錄,所以我想這可能會導致內存問題?
附註:我在這個階段沒有使用任何ORM。
任何幫助或見解將不勝感激!