我正在使用內容協商,因此根據請求的標題提供JSON/XML輸出。現在我想知道提供此功能的最佳位置是什麼。GUI,BLL或DTO中的JSON/XML輸出?
信息: BLL =業務邏輯層
DTO =數據傳輸對象
DAL =數據訪問層
僞碼例如用於DTO
class ExampleDTO{
propertie name;
propertie description;
}
僞碼例如用於BLL
class ExampleBLL{
GetExample(name) returns ExampleDTO;
GetExamples() returns List<ExampleDTO>;
}
1)在具有BLL-對象的GUI:從BLL變換DTO結果爲JSON/XML
2)在BLL:類似... getObjectJSON() - >變換&返回DTO輸入到JSON格式
3)在DTO:行爲像...的toJSON()toxml用於()像一個toString()
4)或額外的DTO的只有1 propertie(JSON/XML)
5)其他的東西? ...
*我個人認爲,(1)是錯誤的,保持邏輯出GUI的原因,(4)似乎矯枉過正有額外的DTO的喜歡WebJsonExampleDTO和A WebXmlExampleDTO只有一個propertie
所以,如果我正確理解你,你是在GUI和BLL之間添加變形金剛。 – Terence
是的,還有種效用層。主要目標是讓架構保持一切,使得所有東西都可以插入,而不是相互依賴。 – paragy