AgileEAS.NET 4.0重構裁剪,新的ORM、支持Linq,正式支持WPF,開放更多的接口

        很久沒有和大家交流了,今天出來給大家彙報一下AgileEAS.NET平臺的最新進展:
         AgileEAS.NET是一套企業級的快速開發平臺或者說是中間件,主要服務於中小軟件企業,以提高軟件企業的有效生產率爲主要目標,結合軟件工程、dotnet構件技術、快速工作爲其提供一個適合中國特色的中小軟件企業的軟件生產解決方案。
         AgileEAS.NET平臺自2004年底出了第一版本並且應用於實際項目之中,廣泛的應用於醫療、保險、互聯網、鐵路、房地產、農業等行業,在實際應用中,與項目相結合,並一直持續的完善和改進。
         我在去年6-8月份寫過一系列文章給大家AgileEAS.NET,但一直沒有對產品進行過重大的變更,基於很多客戶的反映結合技術發展的趨勢,在2011新的一年開始之後,我們對產品進行了一序列重大的重構和裁剪,平臺重構主要內容如下:

向.NET Framework 4.0切換

        AgileEAS.NET平臺在很長的一段內運行在.NET Framework 2.0之上,在3.0,3.5,4.0到來的年代,遲遲沒有變換其NET Framework 環境,從本次重構之後,AgileEAS.NET平臺運行在.NET Framework 4.0,以期得到更多的.NET Framework 優秀特性的支持。

正式支持WPF插件

        因爲之前一直運行於.NET Framework 2.0之上的原因,所以AgileEAS.NET平臺一直沒有提供對WPF技術的支持,本次重構之後,平臺支持WPF技術,具體使用技術與WinForm類似。

調整了WinForm/WPF運行容器

        AgileEAS.NET平臺支持了WPF技術,但對於我們現行的客戶來說,使用最多的還是Winform技術,WPF技術可以現有補充,但不是全部替換,那就需要解決一個問題,Winform插件與WPF插件的共存,本次重構調用了之前的Winform運行容器,以期同同時支持Winform和WPF,即WinForm/WPF運行容器。
        同時對原有的WinForm運行容器做了大早的調整,最新界面如下:
主界面
 

WinForm/WPF運行容器開放更多的接口

         Winform/WPF運行容器在之提爲大家提供了基於資源接口的方式進行自定義logo、標題等方式的替換,大家可以參考callhot的AgileEAS.NET平臺開發實例-藥店系統-資源文件的替換[大家關心的問題]一文了解原有的資源替換方式,但也只能是替換幾張圖片和文本的方式進行自定義,並不能由應用開發員進行更完美的替換,本次重構顛覆了原有的這種方式,進行選擇更爲開放的替換方案:本次重構開放了Winform/WPF運行容器的快速啓動窗體、登錄對話框、Banner條、關於聖誕框、啓始頁的直接替換方案,開發者可以自由製作這五個窗體或控件,通過資源配置,運行期動態替換。
如下兩種不同的登錄窗體風格:
p_w_picpath
p_w_picpath
 

改進並增加了新的ORM支撐

        AgileEAS.NET從2005年提供了一個簡單的ORM支撐開始,一直提供着一套類似於表格===》行這種模式的ORM技術,原有ORM體系中提供着兩個核心的接口ITable和IEntity,分別表示數據表和數據實體,ITable用於處理查詢與元數據、IEntity用於處理單記錄的CRUD操作。
       原有的ORM體系一直支持着很多應用,經歷很多項目的錘鍊,其在性能上的表現應該說還是不錯的,但是在2011年開始,針對很多小應用,很多朋友反饋寫法有些麻煩,感覺有些重了,所以我就考慮在AgileEAS.NET平臺中是不是提供一個更輕量級的ORM組件,並且和原有的ORM體系進行融合,新的ORM技術採用了較爲流行的屬性標記的元數據存儲方法,並且吸收了原有ORM技術在性能上的一些優秀實踐。
       新的ORM放棄了原有的表格===》行的模式,改用一個獨立的數據實體(DataEntity)的定義,元數據及實體的查詢、CRUD全部定義在DataEntity之中,這樣的好處是更加簡潔,生成器也生成更少的代碼,更重要的是,新的ORM技術支持linq。

改進並增加了新的Orm技術

        AgileEAS.NET從2005年提供了一個簡單的ORM支撐開始,一直提供着一套類似於表格===》行這種模式的ORM技術,原有ORM體系中提供着兩個核心的接口ITable和IEntity,分別表示數據表和數據實體,ITable用於處理查詢與元數據、IEntity用於處理單記錄的CRUD操作。
       原有的ORM體系一直支持着很多應用,經歷很多項目的錘鍊,其在性能上的表現應該說還是不錯的,但是在2011年開始,針對很多小應用,很多朋友反饋寫法有些麻煩,感覺有些重了,所以我就考慮在AgileEAS.NET平臺中是不是提供一個更輕量級的ORM組件,並且和原有的ORM體系進行融合,新的ORM技術採用了較爲流行的屬性標記的元數據存儲方法,並且吸收了原有ORM技術在性能上的一些優秀實踐。

Orm提供linq支持,Linq to EAS.NET

        本次重構提供了一個開發人員非常喜歡的東西,AgileEAS.NET平臺中的Orm提供了對Linq技術的支持,即llinq 2 eas.net,這個更新或許是一個平談的消息,但是對於實際中開發人員而言,這是一個非常大的突破,能大大的提高開發效率,我們可以在應用的開發中藉助於強大的linq查詢而拋棄大量的DAL層的重複查詢代碼。
//定義查詢對象
DataEntityQuery<NRCMItem> itemQuery = DataEntityQuery<NRCMItem>.Create();
 
//in查詢條件
string[] itemCode = new string[] { "01", "02", "03", "17" };
 
//linq查詢
var v = from c in itemQuery
        where itemCode.Contains(c.Item) && (c.Code.StartsWith(this.tbSeach.Text) || c.InputCode.StartsWith(this.tbSeach.Text))
        orderby c.Item, c.Code
        select c;
IList<NRCMItem> itemList = v.ToList();
 
//綁定
this.bindingSource1.DataSource = this.itemList;
this.dataGridView1.DataSource = this.bindingSource1;
 
        當然了,Linq to eas.net也只是支持了linq表達式的一部分,即常用的大部分查詢,有關於這部分內容,我將用獨立的篇幅進行向大家介紹。

改進了對象設計工具

        處理了剪切、複製、粘貼的問題,修正了生成數據庫腳本的某些錯誤,簡化了設計界面,增加了代碼高亮顯示功能,增加屬性名與數據庫列名的一到性命名選擇:
p_w_picpath

程序集的合併與裁切

        自去年仲夏公開平臺以來,陸續收到很多關注AgileEAS.NET平臺的朋友們的反饋,有一部分朋友說,AgileEAS.NET平臺提供的功能與程序集有些多和龐雜,初學纔會感覺有些亂,無從下手的感覺,因爲考慮到很多應用都運行在這上面,所以也就一直沒有下手改進這個問題,在本次重構中,對此問題進行了重大的變動,本次重構對平臺原有的差不多60多個程序集進行了整合和裁切,目前保留了差不多30個獨立的程序集,以下對合作和裁切做個說明:
        1.合併了程序集EAS.Kernel,EAS.Model,EAS.IOCContainer、EAS.Session、EAS.Logger,EAS.ServiceLocator,EAS.Aspect程序集爲EAS.MicroKernel,其命名空間保持不就。
        2.合併隨平臺一起提供的UI控件:原EAS.Windows.Controls,EAS.Windows.Tree,HTMLTextBox,PhotoControls合併爲EAS.Windows.Controls.dll,命名空間保持不變。
        3.合併分佈式通信系統的緩存、文件存儲、遠程通信服務、智能升級進行了合作,即 原EAS.Distributed.Contracts,EAS.Cached.ServiceInterface,EAS.SmartUpdate.Contracts,EAS.FileStorage,Contracts合併爲EAS.Distributed.Contracts。
        4.合作平臺管理插件:報表系統相關功能模塊併入平臺管理插件之中,即EAS.Report.DAL.Interface併入EAS.Explorer.DAL.Interface,EAS.Report.DAL.SQLServer併入EAS.Explorer.DAL.SQLServer,EAS.Report.DAL.Oracle併入EAS.Explorer.DAL.Oracle,EAS.Report.DAL.UI併入EAS.Explorer.AddIn.Assist,只保留EAS.Report.Controls。
        合併命名空間基本保持不變,刪除了EAS.Report.DAL.Interface.DALHelper和EAS.Report.DAL.Interface.IDALManager,只保留EAS.Explorer.DAL.DALHelper和EAS.Explorer.DAL.IDALManager。
        5.報表控件可以單獨調用,而不用依賴於EAS.Report.DAL.Interface或EAS.Explorer.DAL.Interface。

下載說明

     有關於平臺最新版本的最新發布版本的程序集、類庫手冊、相關資料,請大家從AgileEAS.NET平臺的官網http://www.smarteas.net/進行下載,官網設有獨立的下載頁面,從這裏下載:官網下載

鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章