2011年7月30日 星期六

軟體架構設計﹣Service的角色扮演


        
在上一篇我們提到 Layer 中 PresentationDomain 及 Data Source 的三層架構,那麼,今天則是要說說 Service 與這三層之間的關係。


        首先,我們必須先了解什麼是ServiceService就字面上翻譯就是服務,所以它所進行的也正是服務。那它的服務內容是什麼呢?它就像是個千面人一樣,在Layer中扮演著多種角色,它可以 是 Presentation 、 是 Domain 也可以是 Data Source ,也有可能是某兩層的結合,更有可能是層與層之間溝通的橋樑。


所以,我們大膽假設一下,ServiceLayer中可能會有四種面貌,分別是Buddy 、 Box 、 Bus 、 Bridge(剛好是B4呢)。

  • Buddy:在這種面貌,Service可能會扮演著PresentationDomainData Source的角色,並做著與它們相同的事務。

Service扮演Presentation

Service扮演Domain

Service扮演Data Source

  • Box:這時,Service 就如同一個盒子一樣,同時處理著多層的事務,可能包含 Presentation 與 Domain 、 Domain 與 Data Source 或是 Presentation 與 Data Source。 而Service 會同時做所包含兩層的作業,例如包含 Domain 與 Data Source 的 Service 將會處理該兩層應做的作業。

Service包含Domain與Data Source

Service包含Presentation與Domain

Service包含Presentation與Data Source

  • Bus:如同匯流排的機制,Service在三層都將進行處理,例如Service取得Data Source後會直接進行Domain應做的作業並進行Presentation的動作。



  • Bridge:簡單來說,Service就像是座橋樑,負責Layer之間層對層的溝通:PresentationDomainDomainData Source。如此一來,各分層便能更加專心致志的在自己的內容上。



透過這四種面貌的圖形,相信大家已對Service有了大概的概念了,而剩下的就是反覆運用來更加熟悉Service的運作。

Copyright ©  2008-2012 www.notonly.com.tw. All Rights Reserved.
張貼留言