an operation offered as an interface that stands alone in the model, with no encapsulated state.
這裡有幾個重要觀念:
- 無狀態(statelessness)
- 基於介面(interface-based)
- 關注點分離(Separation of Concerns)
以下進一步說明
無狀態
簡單說,就是他不會保存任何資料,他提供的方法僅和該方法輸入的參數有關,也只和輸入的參數有關。每一次呼叫方法,都是獨立不互相影響的。
基於介面
呼叫他的方法時,不需要關注他的實作細節,服務應該提供清楚的介面給消費者(consumer)使用。
關注點分離
應用程式中的不同層之間應該要良好的分開來,服務類別應該把業務邏輯良好的封裝起來,和其他層別考慮的重點分開(比方保存資料層)。
Business Service Facade
服務應該作為「簡化複雜操作子系統」的門面(Facade),他組織協調許多不同的子元件進行複雜的操作。
- Simplified Interaction: 提供清晰的介面給客戶端進行互動,隱藏底下統的複雜度。
- Orchestration: 協調操作完成業務需求。
- Reusability: 集中業務邏輯操作,方便重用