當時的監管組,技術力量累積的很少,還在直連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之后
項目的截圖
結語
做框架不容易,如果這個框架讓你不屑也請請和諧討論哈。