Koala Framework
Koala Framework是什么?我为什么要写这个框架?
当时的监管组,技术力量累积的很少,还在直连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之后

项目的截图


结语
做框架不容易,如果这个框架让你不屑也请请和谐讨论哈。
Koala Framework的更多相关文章
- Koala Framework是什么?我为什么要写这个框架?
当时的监管组,技术力量累积的很少,还在直连DB,使用着DataTable.DataSet作为数据的承载,监管是公司最近几年主推的项目,所以领导们决定进行重要调整. 初来乍到 由于之前没有任何的技术积累 ...
- .NET 平台下的插件化开发内核(Rabbit Kernel)
每个程序猿都有一个框架梦,曾经在2013年8月15日写过一篇"Koala Framework是什么?我为什么要写这个框架?"的文章,在开放框架路上迈出了第一步,之后作者如愿找到了一 ...
- 公司ERP系统重构那些事
记一次会议,我提出插件化的想法,有支持也有反对,其中"系统架构师"表示插件化后的项目没什么意义,今天来讨论项目是否需要插件化的一些观点. 项目背景 公司内部"ERP&qu ...
- NET 平台下的插件化开发内核
.NET 平台下的插件化开发内核(Rabbit Kernel) 每个程序猿都有一个框架梦,曾经在2013年8月15日写过一篇“Koala Framework是什么?我为什么要写这个框架?”的文章, ...
- windows类书的学习心得
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
- Koala – 开源的前端预处理器语言图形编译工具
koala 是一个前端预处理器语言图形编译工具,支持 Less.Sass.Compass.CoffeeScript,帮助 Web 开发者更高效地使用它们进行开发.跨平台运行,完美兼容 Windows. ...
- Less/Sass编译工具,koala使用指南
如果你正在使用sass.less或coffee,而没有注意到koala, 那说明你可能已经好久没有更新你的知识库了.koala这个由国人编写的,用于编译sass.less.coffee利器,在最近的短 ...
- 怎么使用Less/Sass编译工具koala
怎么使用Less/Sass编译工具koala 如何使用Less/Sass编译工具koala 一.SASS调试插件的方法 如需调试功能,请在编译输出的时候输出debug信息,那样解析的css文件中就会包 ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
随机推荐
- UIButton UIImage 用法分析
一.UIButton和UIImageView的区别 1.显示图片 1> UIImageView只能显示一种图片(图片默认会填充整个UIImageView) image\setImage: 2&g ...
- python元类分析
刚開始接触到Python新式类中的元类的概念的时候非常是纠结了下..不知道这是个啥东西... 用下面几个定义来说明吧: (1)Python中,类也是对象..仅仅只是这样的对象比較的特殊,他用于创建别的 ...
- 关于android中sqllite对时间的操作
sql 中有时间的类型,date,time,datetime,方便关于记录的维护,下面一个demo演示怎么在每条记录中默认增加时间 源码下载地址 http://www.codes51.com/code ...
- Fizzler
Fizzler 抓取网站数据不再是难事了,Fizzler(So Easy)全能搞定 首先从标题说起,为啥说抓取网站数据不再难(其实抓取网站数据有一定难度),SO EASY!!!使用Fizzler全搞定 ...
- [翻译]初识SQL Server 2005 Reporting Services Part 4
原文:[翻译]初识SQL Server 2005 Reporting Services Part 4 这一篇是关于SQL Server 2005 Reporting Services四篇文章中最后一篇 ...
- JavaScipt中对DOM的理解
一.理解DOM 浏览器通过文档对象模型DOM使JavaScript程序可以访问页面上的元素,而DOM是页面上XHTML中文档正文标题.段落.列表.样式ID.class以及所有其他出现的数据的一个内部表 ...
- Visual Studio 使用调试技巧
Visual Studio 使用调试技巧 这篇文章来源于http://damieng.com/blog/2014/02/05/8-visual-studio-debugging-tips-debug- ...
- gof设计模式回顾
gof23根据讲师学习笔记回顾: 1.gof:Gang of Four;叫grasp更具有针对性,解决具体的问题; ---------------------总共分为三大类: ---------创建型 ...
- Android:开发环境搭建、移植
一:搭建Android安卓开发环境 准备文件 1.eclipse-SDK-4.2-win32.zip 2.JDK(Java Development Kit) 3.ADT,安卓开发的一个eclipse的 ...
- HTML页面规范分解
百度,淘宝,腾讯三大巨头HTML页面规范分解 [兼容html5方案] 百度贴吧,百度图片的实现 <!--[if lt IE 9]> <script> (function() ...