基於.net搭建熱插拔式web框架(實現原理)


第一節:我們為什么需要一個熱插拔式的web框架?

  1. 模塊之間獨立開發

    假設我們要做一個后台管理系統,其中包括“用戶活躍度”、“產品管理”、"賬單管理"等模塊。每個模塊中有自己的業務特性,這些模塊都與具體業務高度耦合,很難由一個團隊開發完所有模塊。這樣看來,由數據事業部的同事來開發“用戶活躍度”模塊,產品事業部的同時來開發“產品管理"模塊會顯得更加合理。現在我們假定由不同團隊開發不同業務模塊,那么這些人如果共同維護同一個項目的話,這個項目會變得非常臃腫,直到最后牽一發而動全身,更不利於新技術、新思想的融入。這里也不排除有大牛可以提前把架構規划的很好,但對於創業公司及快速發展中的公司,他們的業務變化速度真的可以說的上朝謀夕變。所以我們可以把每個項目按照一種規范單獨開發,最終把這些模塊插入到框架中運行。
  2. 沙箱模式

    每個模塊都由獨立的團隊開發,很容易發生類庫之間的不兼容問題(項目大了什么鳥都有)。我們可不可以把他們隔離起來呢?答案是可以的,我們可以使用appdomain來啟動每一個模塊。說到appdomain,你大概知道我們要做什么了,但是httpcontext是不允許跨域傳遞的,這就是本文的關鍵了,我們在接下來的文章中慢慢解決。
  3. 用戶及權限、訪問入口統一控制       

    看完上邊,你可能會想把每一個模塊都作為一個web部署不就行了嗎?那如果這樣,就需要一套單點登錄的機制來協助整個平台的運作了,而且每一個模塊中都需要引用權限過濾的相關功能,再加上我們要管理茫茫多的小站點,額,頭大了吧。綜上所述,我們的框架就是一個整體的權限鑒別入口及功能路由器,協調每一個模塊良好運轉。

第二節:框架模型

            
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM