已知: 假設a層引用c層 中間層是b
1解耦方法:抽象工廠 abstractfactory 使用反射建立類的例項
例如呼叫dal層 這樣不用new dal類的例項,不用引用該命名空間,實現解耦 ,只返回乙個idal型別的物件 完全和dal脫離關係
當修改模型框架的時候,只需修改web.config中的程式集和命名空間名稱和介面(抽象工廠類)而不用修改每次呼叫或建立類的**
作用:解決了被呼叫層改變的問題,減少要修改的**量,解決了各層部署在不同伺服器的問題(新增引用只能引用本地dll檔案)
2面向介面程式設計 引用的時候如果沒有特殊需求,只需要引用介面層(idal) 不需要引用本來的層(dal)
介面的作用:例如idal 當dal發生改變的時候 業務層不需要改變,只要新的dal繼承了idal介面
3乙個層(c)部署在了哪個伺服器 ,被呼叫的時候就在哪個伺服器(c)執行,其他伺服器(a)雖然也有這個層的物件(介面物件) 但是只能呼叫介面其中的方法,具體實現還要到該具 體的被部署的伺服器(c),a層 所在的伺服器有c , b層所在的伺服器也有c(不確定)
疑問:1 如果乙個專案的n層分別部署在不同的伺服器上,中間層是和呼叫的層還是被呼叫的層部署在同一臺伺服器上(是不是中間層/介面層在兩邊都要部署)
2 a引用c層的時候 dll檔案也會被引用過來,那在執行被呼叫的c層的**的時候,是執行引用過來的a層dll還是c層自己的dll檔案
3 整體的專案之間各層呼叫的流程及資料傳遞
fastdfs分布式架構設計
clevercode在自己的虛擬機器中準備搭建一下分布式架構。2.1 安裝tracker 安裝詳解參考 2.2 配置tracker a 首次安裝 vi etc fdfs tracker.conf base path data0 fastdfs tracker usr local bin fdfs t...
架構設計之分布式快取
1 前言 我們在開發系統的過程中,快取是個有用的模組。下面我就把我們的快取模組給大家做個簡單介紹。2 類圖 看不清楚?這裡檢視原圖 大圖 3 簡單介紹 快取分為兩個部分。乙個是快取結構乙個是儲存結構。快取結構主要解決物件什麼時候過期而儲存結構主要解決物件儲存到什麼地方。3.1快取結構 我們在處理快取...
IM分布式架構設計 1
分布式開發整體結構圖,體現了 im軟體的開發設計流程。下面主要著重介紹三個核心模組。1.databaseserver 中wcf 實現對資料庫的增刪改功能。2.databaseserver 需要解決主從資料庫 資料庫連線池 sql語句排程器等技術問題。1.businessserver 中wcf 實現使...