SAP Commerce(原Hybris)的訂單處理框架和SAP CRM One Order框架

最近工做重點轉移到了SAP Commerce上來,正好有機會把該產品裏由Java實現的訂單處理框架和我以前長期工做過的,ABAP實現的SAP CRM One Order框架作個比較:基於Spring的Bean替換機制 vs ABAP函數+配置表,兩種方式都實現了強大的可擴展性。數組

SAP Commerce的訂單處理框架把訂單處理業務按照步驟拆分紅一個個細粒度的處理單元,封裝到一個個Spring Bean裏。模型和其行爲之間經過策略模式(Strategy Design Pattern)進行鬆耦合式的關聯。Commerce二次開發人員能夠靈活地將定製業務邏輯實如今自開發的Bean裏,並將其經過Spring框架注入到Commerce的訂單處理框架中,實現訂單處理業務的定製效果。框架



而SAP CRM One Order裏一系列維護在配置表裏的函數,學習了SAP Commerce以後,我傾向於把它們類比爲比SAP Commerce Order Bean更細粒度的處理單元。SAP Commerce裏可以注入的Order處理邏輯的粒度是一個端到端的操做,好比SubmitOrderStrategy,CloneAbstractOrderStrategy,CreateOrderFromCartStrategy, SaveAbstractOrderStrategy, 一個Bean就能實現一個端到端的Order操做;而SAP CRM One Order框架配置表裏能夠靈活配置的ABAP函數,每每須要多個函數組合在一塊兒協同工做才能完成一個上述操做。雖然可配置和替換的粒度不一樣,但都異曲同工:在不修改SAP標準代碼的前提下,給二次開發人員提供一種靈活的加強機制(Extensibility).函數

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":
學習

相關文章
相關標籤/搜索