理解服務
在討論組件時我們談論了組件粒度的問題。當組件的粒度不僅僅限于單個對象的時候。在構成組件的多個對象中,有些對象處于組件內部,不和其它的組件交互,有些對象需要和外部組件進行交互。后一種對象起的就是服務的作用。在設計模式中,這種設計被稱為Facade模式。而在OO語言中,他們相當于接口的概念。不管如何比喻,服務訂立了組件和組件之間的契約。這種契約是穩定的(如果業務需求是穩定的),不會隨著組件內部的變化而發生變化。
要理解這一點也非常的容易。對于一個提供用戶認證的組件,一個可能的服務對用戶進行認證和授權,至于組件內部采用LDAP還是關系數據庫來存放用戶信息,對服務來說沒有任何的差別。
這樣做的好處有很多,一是組件之間能夠以一種穩定的方式存在,組件內部的變化不至于擴散到整個軟件系統。二是軟件設計將會轉向重點設計組件之間的服務,而組件的實現細節將會隱藏起來,這不但有助于設計者更好的把握軟件的全局架構,而且有助于分工的細化。
文章來源于領測軟件測試網 http://www.kjueaiud.com/