工作这么多年,基本都在信息管理系统的开发与实施里兜兜转转。工作时也写过一些框架性的东西,因为要结合旧代码,很少系统性的思考。因为这次疫情的影响,难道有这么多的空闲时间来回顾过往的工作经历。也就有了整理一个开发框架的想法。我本人使用的delphi居多,delphi的开源框架其实也不少,如cnpack,remobjects, 但很少有关于信息管理系统的整体架构性的开发框架。

何谓整体架构性的开发框架?在我看来,就是这个开发框架考虑了一个信息化系统开发的基础设计的方方面面。比如读取系统配置文件(ini或xml或json),写日志,数据库操作接口,会话管理,功能模块化管理(模块加载,模块运行等),MVC模式基础功能【业务对象基础功能(封装读取数据,更新数据的功能);视图基础类,Controller基础类】。再对业务系统做一些共性需求提取,诸如用户权限管理(模块权限,数据权限)之类。完成这些共性需求的开发工作之后,剩余的工作就是业务模块的开发,这样就将节省了很多从头构建系统的时间,也将软件系统的开发从具体的面向对象编程转化为面向领域编程。我们可以使用这个框架,为不同的行业开发具体的业务模块。

基于这个思路,我尝试开发了efinfo framework这个框架。我在做完一些基础测试工作后,会将其开源发布。小伙伴们可以自由的使用及修改这个框架,唯一的限制就是不能为这个框架申请专属的专利。你可以在发现了更好的解决方案后将其更新到开源平台上,或者QQ私聊我,我们一起改进,为开源社区贡献一份自己的力量。

后续会提供源码地址,如果目前有源码兴趣的也可以站内@我,留下你的邮箱或QQ,我发给你。

主要这份代码目前是采用Delphi7来实现,View部分如果有带Controls的类,其中可能有用到DevExpress的组件。另外这个框架的代码基本没有实现可视化组件(除了View base class部分),如果不习惯使用非可视化的方式编程的可以开溜了。