SAP SADL和SAP Hybris DTO, 以及SAP C4C的transformation object
When you need a simpler or more convenient format for some of the data to display in JSPs
上面是從help.hybris.com摘錄出來的原話,解釋為什么我們需要DTO.
簡單來說,就是因為Service Layer定義的model格式和UI需要的格式不是完全一樣,如果UI直接消費Service Layer的model,代碼寫起來非常難看,而且會產生UI layer和service layer的強耦合。
更general地說,可以把DTO看成SADL的實現方式之一,處于BO(service layer) 和UI layer之間, 作為UI(consumer layer)消費Service layer的橋梁:
Hybris的DTO通常以data.java結尾,在我安裝的6.5.0.0.23546這一版本里一共有445個DTO:
一個DTO例子:
在CRM Genil layer的實現里,雖然沒有明文提出DTO的概念,但是從Genil layer這些方法的signature能看出這種DTO的思路其實也是蘊含在其中的:把數據從genil layer的format CRMT_PRODIL_DATA轉換成UI layer的COMT_PRODUCT_MAINTAIN_UI.
CL_CRM_PRODIL_LONGTEXT
SAP Cloud for Customer Transformation Object
A transformed object provides consumer-friendly services across multiple business objects and their already existing functionality. A transformed object is used if a view on multiple business objects is required in the representation of a business object (for example, because the using application requires a business object).
Transformed objects are instantiated at run-time and do not have their own persistence – they rely on the persistence of the underlying business objects.
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP SADL和SAP Hybris DTO, 以及SAP C4C的transformation object的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flash如何制作跟随鼠标将蜡烛点燃的f
- 下一篇: SAP Hybris里搜索显示结果的实现