- 軟件再工程:優化現有軟件系統的方法與最佳實踐
- (美)Bradley Irby
- 371字
- 2020-11-04 16:44:58
1.6 理解服務自治和服務組合
Thomas Erl在他的著作《Service-Oriented Architecture:Concepts,Technology,and Design》中論述的最主要的準則是關于服務的可自治性和可組合性。在關于可組合性的那節中寫到,“一個服務可以代表來自于任何數據源類型的任何邏輯,這其中也包含了其他的服務。”在關于可自治性的那節中寫到,“……消除對其他服務的依賴性,這使得服務可以擺脫抑制其部署和演進的束縛。”這似乎帶來一個矛盾的信息:服務到底能不能使用其他服務。然而,如果仔細檢查這兩個陳述,就可以發現它們并不是互相排斥的。
服務的可組合性意味著無論何時服務都可以使用它所需要的另一個服務的功能。然而,當兩個服務之間有依賴性時,就不能以這種方式使用第二個服務。之前我們已經看到過,顯式地引用另一個類或者使用了不適當暴露的方法和屬性,都會產生依賴性。使用服務定位(在第4章會談及),你可以學習如何創建一個具有可自治性和可組合性的服務。
推薦閱讀
- Learning Single:page Web Application Development
- ReSharper Essentials
- Network Automation Cookbook
- aelf區塊鏈應用架構指南
- Python高效開發實戰:Django、Tornado、Flask、Twisted(第2版)
- GameMaker Programming By Example
- C#實踐教程(第2版)
- ServiceNow:Building Powerful Workflows
- Android項目實戰:手機安全衛士開發案例解析
- 一本書講透Java線程:原理與實踐
- Kivy Cookbook
- Rust游戲開發實戰
- Unity 2018 Augmented Reality Projects
- Appcelerator Titanium:Patterns and Best Practices
- 前端Serverless:面向全棧的無服務器架構實戰