0
我正在學習「企業應用程序體系結構模式」。我對數據映射器模式感到困惑。據我所知,領域模型本身不應該意識到不同數據映射器的存在。那麼誰負責調用數據映射器來加載或保存域模型對象?在負責調用數據映射器的域模型中?
我正在學習「企業應用程序體系結構模式」。我對數據映射器模式感到困惑。據我所知,領域模型本身不應該意識到不同數據映射器的存在。那麼誰負責調用數據映射器來加載或保存域模型對象?在負責調用數據映射器的域模型中?
數據映射器用於在框架級別將數據的內存中對象表示轉換爲數據庫中的關係表示,反之亦然。 框架級我的意思是ORM提供程序如Hibernate,Ibatis等將在讀取關係數據庫後使用數據映射器層來創建內存中的域對象。同樣,數據映射器將把內存域對象轉換爲關係數據庫表示。
因此,內存域對象本身與底層關係數據庫的複雜性分離。域對象不知道數據映射器的原因在於,當從數據庫讀取數據時,框架負責執行數據映射器,並將該數據作爲內存中對象提供給請求它的代碼。同樣,代碼在抽象出來的Hibernate \ JPA庫上調用數據庫,而內部框架使用數據映射器層將此調用中的數據轉換爲數據庫所需的適當格式。