Enterprise Solution 是一套管理软件开发框架,在这个框架基础上开发出一套企业资源计划系统Enterprise Edition。
现将Enterprise Solution开发过程中遇到问题时的解决方案资源共享出来,供参考。
项目源代码地址是
1 工具软件界面原型 Management Studio
工具类程序的界面原型,拥有选项卡文档 插件 Office 2007蓝色风格 后台线程等特性。
介绍地址:
2 设计模式 Development Pattern
在接触ORM框架以前,熟练掌握动软代码生成工具开发项目,后来将动软的源代码反编译并做了定制,产生一种Open Studio的设计模式,Open Studio的源代码早已丢失,剩下一个例子项目供回味当初的感受。
再后来接触到微软模式与实践小组推出的Repository Factory设计模式,由一组工具和类库组成,开发速度也不错。
最近五年时间则全面转向ORM开发,熟悉LLBL Gen Pro开发数据访问程序,了解Entity Framework。
Open Studio界面效果如下图所示,源代码反编译自动软.NET代码生成器。
到后来接触了ORM框架之后,完全放弃这种开发模式。
3 博客园备份程序 Doc Exporter
为了系统的学习博客园的各种专题,又看到网友分享出的博客园地址生成规则,于是设计出此程序,可以大批量的导出博客园的文章到本机磁盘中,支持格式有DOC,PDF等,还支持附件下载。
程序的原理是用aspNetMHT组件将网页另存为mht格式,再通过Aspose.Words将mht格式另存为DOC或PDF格式。
aspNetMHT需要经常更新它的许可文件,可以下载官方提供的序列号更新到系统中即可。
这个工具极大的方便了电子书制作人员,也是搜集整理知识的好工具。
介绍地址:
4 客户关系管理 Paradox CRM
2009年的时候接触到一套.NET界面控件包Krypton,当时蓝色系列的Office 2007软件很受欢迎,出现了大量的控件仿照蓝色系风格,软件界面美化的方向也是向Office 2007靠齐。实践中产生了这样个界面框架原型,后来做了优化。
Krypton控件在编译时报错,可从网上找到解决方法。
5 代码生成工具 Smith Builder
为了简化Code Smith模板的调用,开发出此工具用于简化代码生成。主要功能是调用Code Smith的模板文件,获取输出结果,可一次执行多个模板文件。
6 知识管理 Data Solution
2012年的时候,一直在寻求一种内容管理系统,可搜集和存储我所需要的数据的程序,Data Solution产生于这样的需求。对工作中遇到的四种场景的数据格式进行记录,整理和搜索,满足日常需求。
· 本地文件,需要导入到本机数据库系统中,以方便查找,编辑。
· 网页数据,不带格式,一小段数据,需要保存到本机数据库系统中
· 网页数据,带格式,比如上面提到的找工作的情形,需要有公司简介,职位要求,联系方式,是格式化的数据
· RSS 聚合数据源 以Sql Lite数据库格式存在
养成良好的数据搜集习惯,对经常关注的技术,经济,人文,管理学等方面的文章(数据)收藏,让知识汇集成江河。
介绍地址:
7 公共框架 Framework
经过了近4年的开发积累,手里积累了一些公共代码,将它们整理到一个类库中编译供开发使用。类库中的方法大多来自于网友分享的代码,包含了应用开发中遇到的数据访问,邮件发送,通用枚举,导出,文件目录操作,正版验证,日志,错误报告,Office 2007主题,权限,资源文件,加密与解密,序列化,服务,验证,Web, Xml文件处理。
虽然这套类库有很多BUG或是隐性的问题,但不可否认它对我的职业发展产生的重要推动作用。
8 模板代码生成 Greatqn Template
这是一套基于Code Smith的模板,作者是吴晓军,作者设计了27个Code Smith模板来规范项目开发。通过对它的学习,使我彻底接受了基于模板的代码生成,为以后写出各种代码生成工具奠定了基础,感谢作者吴晓军。
9 窗体设计器 Form Designer
可能是自己工作环境的误导,也可能是自己学艺不精,2008年彻底迷上了基于窗体设计器的管理软件开发,折腾了无数的方法实现一种业务人员自己定义表单,业务人员开发ERP系统的工具包。后来证实自己所选择方向是错误的,之后的几年时间都不敢碰窗体设计器,直到最近的一份工作才明白了窗体设计器的用途。
Visual Studio的窗体设计器只能保存C#或VB的源代码文件,但是rehost过的窗体设计器可以将设计保存为Xml,而Xml文件可以保存在数据库中,设想把系统中所有的业务单据保存在一个数据表中,业务人员可以自己定义业务表单,也可以修改系统预定义的表单,这样的理想的业务开发过程终究没有实现。金蝶的BOS实现了我所说的开发方法,我也有金蝶BOS的源代码,至今对这种模式没有兴趣。