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