當時的監管組,技術力量累積的很少,還在直連DB,使用著DataTable、DataSet作為資料的承載,監管是公司最近幾年主推的專案,所以領導們決定進行重要調整。
初來乍到
由於之前沒有任何的技術積累,所以面臨的就是重新開始,當時的專案非常趕,所以先嚐試著找現成的框架使用,然而像面向功能的元件、框架非常非常多,如:IOC(Autofac、MEF、Spring.Net…),ORM(Entity Framework、NHibernate、Simple Data…),排程(Quartz…)但是面向整個專案開發過程的可用框架幾乎沒有或者太重了,如:(Orchard,DNN),於是決定參照Orchard、DNN開始自己造輪子,以滿足現在簡單的需求。
升級?重構?
漸漸的這個簡單的框架開始力不從心,雖然支援了Modules式開發,支援了Module拔插但隨著底層機制的不穩固漸漸的出現了問題。這時開始決定升級,或者說重構,因為這一次時間較充裕,所以底層機制可以仔細的構建,由於直接簡單的框架使用了IOC所有這一次就算重構的面目全非最後只要做簡單的適配即可整合現有的模組。
面向Web(像CMS?)
由於監管是B/S專案所以這次的重點是Web,而不去考慮Windows Forms、WPF等框架,這一次同樣參考了Orchard,這段時間是最艱難的時候,因為不完全瞭解Orchard所以在重構的過程中很容易被Orchard帶進他們的設計理念與思想中去,解決方案不知重建了多少遍。。。
外掛化的開發框架
經歷一段時間之後決定抽絲撥繭,先把核心的東西做出來—— 外掛機制(外掛引擎、外掛框架)怎麼稱呼都好反正就是一套外掛機制。
然而這一次不單單是隻針對B/S的應用程式,而面向了全.NET平臺
NET(Windows Form、WPF、Web Form、MVC等)
Xbox
Windows Phone
Windows Store
Silverlight
Xbox
當初定成一個外掛式開發框架,不包含任何業務功能(比如:CMS的文章系統,使用者系統,搜尋功能…)。
離職是一個新的起點
這個時候因為其他一些原因,我離開了原來的公司,但我帶著我的框架夢還繼續前進著。
Koala Framework
Koala Framework是一個用於快速構建.NET應用的開發框架,可以適用於任何.NET平臺下的應用開發,Koala Framework通過特有的外掛機制使其在專案開發過程中可以很好的遵循開閉原則(對擴充套件開放,對修改封閉),從根本上實現專案的高內聚、低耦合。
Koala Framework提供了哪些功能?
外掛管理。支援外掛安裝載入、呼叫、安裝、解除安裝及更新。
提供了外掛伺服器,可以自由上傳已開發完成的外掛供廣大使用Koala Framework構建應用的開發者們使用,並且外掛伺服器也可獨立部署在所在的工作網路。
與現有應用程式整合。可以將現有應用程式以外掛形式在Koala Framework中管理,不必擔心你已具有的功能需要重新開發。
提供了多種元件,如:Bus、Caching、Dynamic Proxy、IOC、Localization、Logging等。
提供完善的開發時支援,如:外掛清單編輯器,外掛部署工具等。
Koala Framework是否釋出?當前版本?
很抱歉,由於本人目前所在公司所擔任職務無法全身心對Koala進行開發,所以Koala的進展比較緩慢,當前正在進行Alpha 2的版本迭代,還沒有到可以釋出的時候,計劃在Beta 1時再做釋出。
Koala Framework 下一步
會在Beta 1之前完成計劃任務與許可權的元件開發,連同Beta 1一起釋出,Alpha 2之後會相繼迭代Alpha 3、Alpha 4,每次迭代週期平均為20天左右。
Alpha 2:外掛機制擴充套件、開發支援工具優化、本地化元件完善。
Alpha 3:許可權元件開發、框架優化。
Alpha 4:Fix Bug。
Beta 1:Fix Bug、優化。
====以下不確定(也可能是Fix Bug釋出Release 1之後才會做的事情)====
Beta 2:自定義表單。
Beta 3:自定義表單擴充套件。
Beta 4:自定義表單擴充套件。
Beta 5:工作流引擎。
……………………………………
我的期望
希望能找到一家能提供給我飛翔的平臺公司,能讓我為.NET開發出一些國產且優秀的東西,當然這些東西也是這家公司認為所需要的東西,不然誰那麼無私哈哈。
博文的下一步
以後主要會圍繞Koala Framework陸續寫一些相關的文章,比如啟動機制、外掛內容、外掛機制、元件講解等等。
Koala Framework Demo
JiraTool:http://JiraTool.codeplex.com/(基於Koala Framework Alpha 1寫的Jira工具,沒有做jira地址配置哦,所以你們是用不上的,嘿嘿,之後有時間會加上這一塊的配置,因為趕時間所以程式碼比較凌亂大家湊合著看)
ERP Demo
今天剛寫的,基於Koala Framework Alpha 2(未釋出版)
程式碼結構良好,也比較簡單的Demo示例,稍微處理一下對環境的要求之後在補上原始碼地址。
給點截圖吧:
由框架提供的外掛伺服器(框架同時提供了寄宿於:IIS(Web)、Console、Windows Forms的外掛伺服器)
以下為ERP Demo的窗體
登入介面:
主窗體:
安裝倉庫外掛之後
安裝歡迎外掛1.0.0.0並點選之後
更新歡迎外掛至1.0.0.1並點選之後
解除安裝歡迎外掛1.0.0.1之後
專案的截圖
結語
做框架不容易,如果這個框架讓你不屑也請請和諧討論哈。