我們擁有一個具有下列方式的數據流動的介質尺寸的Java服務器:有多少數據對象層是一種好的做法?
SQL數據庫 - >數據層 - >業務層 - > XML序列化
要注意這一點很重要,即數據模型大多在層之間不會改變。然而我聽說有一個單一的數據模型用於:SQL數據庫 - (IBATIS) - >模型 - >將模型轉換爲XML - 不是一個好主意,因爲模式變化意味着模型的變化,然後改變在應用程序的所有層中。而XML的變化也意味着模型必須改變。
因此,建議在這種情況下有兩個物體層? 1)業務模式使用IBatis映射到的業務邏輯數據層。 2)JAXB用來轉換爲XML的XML層。
很大程度上取決於系統的複雜性。例如,您可能有一個讀取XML數據的系統,並通過多個層傳遞給GUI。有些更改可能會要求您更改全部三層中的代碼,但通常情況並非如此。另一方面,您可能會發現業務層只是重複了大部分數據層。在這種情況下,我會將業務層視爲數據層的擴展,而不是複製它。 – 2011-03-23 15:13:39