ASP.NET企業開發架構IsLine FrameWork系列之二–命名空間與契約

來源:互聯網
上載者:User

    接上文

    ILFW架構以最底層為基礎,層層堆疊,上層一依賴於下層提供的服務,並實現其派發的介面,形成完整的FrameWork,不過由於時間原因,有些Provider之間的彙總偏高,例如AppLogProvider在使用資料庫做為記錄介質時,已經和DataProvider綁定,並不能使用第三方的資料引擎。

    ILFW共有18個命名空間,分別管理著這些Provider的主要方法以及各種類庫、介面,每個命名空間並非獨立,正如表示的一樣,所以如果你希望使用ILFW的某一個Provider,可能需要引入幾個dll。

    命名空間名稱列表:

表 1.1 命名空間

 

 

    ILFW將每一個Provider分為功能、枚舉以及配置,每一個Provider都是遵從這個契約開發的,同時這也是命名空間的劃分規則。

    “功能”命名空間表示該Provider的主體完成任務,“功能”命名空間會包括介面、抽象類別以及對這些抽象元素的實現,它是Provider的主體部分。

    “枚舉”命名空間表示Provider中所有用到的需要與使用者互動的資料類型。

    “配置”命名空間表示Provider需要設定檔支援的資訊部分,Provider運行前,系統會自動載入相應的設定檔,並載入相關節點,將這些節點內的資訊提供給“功能”模組進行處理。

 

圖 1.2 命名空間結構

    結合本人多年經驗總結,將系統開發中重用較多的部分和團隊協作開發時較難控制的部分,以物件導向方式封裝,形成一套業務無關的底層架構(ILFW),ILFW具有如下優勢:

  1. 三層結構分層明顯,程式結構易懂,可擴充性強。

    系統較核心的業務驅動層與ILFW皆採用物件導向原則設計,利用繼承、多態等方式,結合介面,增強“驅動的可擴充性”,上層只需繼承或實現相關類或介面,即可對現有底層方法進行擴充。

  1. 具有組件的模組化,靈活和重用性高。

    由於ILFW分別面向資料、儲存、安全進行抽象與封裝,業務層面通過配置相關節點並調用方法的方式完成相關業務,所以這種方式增強業務層面的代碼的簡捷易懂性,降低了耦合,執行模組的功能或與模組交流資訊只通過調用公有介面來實現

  1. 開發人員減輕重建立立解決複雜問題方案的負擔和精力。

    軟體產品的後期運行維護是個巨大的工程,單純從前期開發時間上考慮其開發效率是不理智的,也是不公平的。採用ILFW架構,則可提升開發效率,一些複雜的外圍控制碼,之需要用簡短的內部方法處理,對錶現層的修改即使發生錯誤,也絕對不會將錯誤擴充到商務邏輯層,更不會影響持久層。

    ILFW以Provider的方式提供給程式人員使用,不同的Provider代表不同的封裝,可以完成不同的任務,同時各個Provider之間還會互相調用。

     (未完 待續)

    我是李鳴(Aicken) 歡迎您關注我的下一篇文章。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.