上一篇AgileEAS.NET之外掛程式介面IModule中我們介紹了EAS.NET模組外掛程式契約,在本文我們將介紹一下調用外掛程式的運行容器,即平台。
AgileEAS.NET平台最早是應用於基於WinForm技術開發管理資訊系統應用的,所以基於WinForm的運行容器最為成熟,在應用WinForm技術的運行容器我們提供了三種:傳統的WinForm容器、基於智能用戶端技術的運行容器和基於WinForm和WebForm技術結合的ActiveXForm容器,也提供了基於純WebForm技術的運行容器。
廢話不說了,下面我貼出傳統WinForm容器和SmartClient容器的運行效果:
看不清楚圖片的朋友,請開啟原圖看吧,這是基於WinFrom技術的外掛程式運行效果,目前外掛程式在容器中的運行方式有兩類,第一類是直接嵌入到容器介面中,如一個標籤頁代碼一個模組外掛程式,另一類是以獨立的WinForm方式運行,如:
我們提供基於導航列表以及工具條和菜單結合的兩種模組外掛程式導航方式,預設情況下,左邊導航列表或者導航樹自動收合的,在具體應用項目中,可以根據情況選擇何種導航方式,菜單或者導航中的一個葉子項均指向一個目標模組外掛程式的。
當某個操作員(賬戶)登入平台後,平台許可權檢查系統載入登入操作員所擁有執行許可權的模組並載入到業務導覽列和導覽功能表,最後秀一下登入介面。
特別提示一下,AgileEAS.NET平台運行容器為了支援應用開發商的發布和變更,對運行容器的介面做了一套資源系統,應用開發商可以在設定檔中變更資源檔以達到變更系統名稱、顯示圖片的目的,比如:
SmartClient運行容器在標準WinForm容器基礎上,增加了智能用戶端支援:包括應用系統的智能部署升級及可選的分布式資料訪問,下面簡單展示一下WebFrom運行容器。
在這些運行容器中,平台叫用外掛程式,但是在一些應用中,模組外掛程式需要調用別的模組外掛程式,這個又怎麼做呢,我們抽取了一個基礎介面IApplication:
IApplication/// <summary>/// 定義平台應用(容器)的基本規範。/// </summary>public interface IApplication{ /// <summary> /// 擷取應用程式名稱。 /// </summary> string Name { get;} /// <summary> /// 運行模組。 /// </summary> /// <param name="module">模組類型。</param> void RunModule(Type module); /// <summary> /// 運行模組。 /// </summary> /// <param name="module">模組Guid。</param> void RunModule(Guid module); /// <summary> /// 運行模組。 /// </summary> /// <param name="module">模組執行個體。</param> void RunModule(IModule module);}
IApplication介面中,我們定義了RunModule方法,外掛程式可以通過AgileEAS.NET應用上下中的IApplication實現對其他IModule的調用。
我會在接下來的文章中,我將會對介紹ActiveXFrom運行容器及外掛程式的擴充體系。
連結:AgileEAS.NET應用開發平台介紹