1、所謂服務器軟件,就是通過協議解析等等手段,把遠在internet網絡上的現實參與者,映射為系統內核里的抽象參與者,繼而而加以處理。這里是“參與者”的概念,相當于系 統首先把外在的用戶個體,一步一步拉近,抽象,最終變成系統內部的一個操作接口集合。另外,因為內部參與者是外部用戶的在系統內的一個映射,需要維護好這一層關系。
2、如果系統服務多個參與者,而參與者之間本身就存在交互的話。是讓參與者直接交互還是通過間接的“橋”來交互。也就是說,系統內的參與者需要對系統了解嗎?是需要了解多個接口還是一個接口?還是把系統當作一個黑盒來使用還是一個白盒來使用?后者耦合降低。但是作為“橋”的那個東西,復雜性也不言而喻,需要多多考慮一下;
3、系統內的數據應該屬于業務邏輯層還是數據層?關鍵的一點就是看這個數據對象是否需要持久性,是不是只是運行時存在。舉個例子來說,數據庫屬于數據層,但是從數據庫內取出數據緩存在系統內,用作判斷就屬于業務邏輯層內的東西。業務邏輯層的東西可以靈活構造,但是數據層的數據就相對穩定,也只要支持少量的接口,比如增、 刪、修等。不能在數據層加入業務邏輯判斷的代碼,否則導致數據層和業務層耦合。業務邏輯如果需要判斷數據層內部的一些東西,應該把這些數據緩存到業務層的零時對象內。