Duwamish7學習筆記(五)

2021-03-31 08:56:59 字數 1129 閱讀 3111

businessfacade專案

業務外觀層封裝了3個類customersystem,ordersystem,productsystem,類中直接呼叫資料訪問層和業務邏輯層類的方法與屬性提供對web層的介面。有意思是的每個類結尾均以system命名。客戶系統?訂單系統?產品系統?

業務外觀層中3個類均繼承自marshalbyrefobject類,來支援遠端處理。msdn中關於marshalbyrefobject類的解釋為:

「允許在支援遠端處理的應用程式中跨應用程式域邊界訪問物件。」

「應用程式域是乙個作業系統程序中乙個或多個應用程式所駐留的分割槽。同一應用程式域中的物件直接通訊。不同應用程式域中  的物件的通訊方式有兩種:一種是跨應用程式域邊界傳輸物件副本,一種是使用**交換訊息。」

「marshalbyrefobject 是通過使用**交換訊息來跨應用程式域邊界進行通訊的物件的基類。不是從 marshalbyrefobject 繼承  的物件根據值隱式封送。當遠端應用程式引用根據值封送的物件時,將跨應用程式域邊界傳遞該物件的副本。」

「marshalbyrefobject 物件在本地應用程式域的邊界內可直接訪問。遠端應用程式域中的應用程式首次訪問 marshalbyrefobject 時,  會向該遠端應用程式傳遞**。對該**後面的呼叫將封送回駐留在本地應用程式域中的物件。」

「當跨應用程式域邊界使用型別時,型別必須是從 marshalbyrefobject 繼承的,而且由於物件的成員在建立它們的應用程式域之外  無法使用,所以不得複製物件的狀態。」

customersystem類中有對密碼通過.***內建的加密支援進行密碼保護的**,可以很方便的用到我們平時的專案之中。

疑問

1.類結尾命名為system,怎麼解釋?

2.類均標記為從marshalbyrefobject類繼承,來支援應用程式中跨應用程式域邊界的物件訪問,系統在什麼情況下將會進行「跨應用程式域邊界訪問物件」?

3.***mon專案中的所有類均標記為[serializableattribute],標記為[serializableattribute]和繼承自marshalbyrefobject類均可用來支援遠端呼叫,兩者有何區別?

4.感覺抽象出業務外觀層加大了系統的複雜程度,加大了編碼量。

Duwamish 7 初探 資料流程

duwamish 7是微軟的乙個基於asp.net的分布式應用程式範例。由於工作上的原因,本人不得不對其研究一二。有所心得,不敢獨樂,故於此與眾位分享之。一併 asp.net,萬望眾位達人不吝賜教,btw 在msdn.net中有其結構與流程詳解,本人在此基礎上總結心得,並對其中不甚明了之處做一補充,...

Duwamish 7 初探 資料流程

duwamish?7是微軟的乙個基於asp.net的分布式應用程式範例。由於工作上的原因,本人不得不對其研究一二。有所心得,不敢獨樂,故於此與眾位分享之。一併 asp.net,萬望眾位達人不吝賜教,btw?在msdn.net中有其結構與流程詳解,本人在此基礎上總結心得,並對其中不甚明了之處做一補充,...

Duwamish 7 初探 資料流程

duwamish 7 是微軟的乙個基於 asp.net 的分布式應用程式範例。duwamish 的若干個核心檔案 驗證資料合法性 定義讀寫配置的框架 common duwamishconfiguration.cs 讀寫配置 通過 以上是整個應用程式的框架核心,還有乙個 作用和 configurati...