首页 > 代码库 > 精耕平台路径

精耕平台路径

我是一名.net开发者,从dos时代turbo pascal算起(1996年),已经20多年了。写过的代码不少,做了很多反反复复的编码工作。中间带过团队做过算是中型的企业级项目,现在每天还在敲着代码,算来还是真心喜欢这个面对计算机的行业,还觉得能敲10年代码再退休,身体锻炼也必不可少,不然10年也坚持不了了,腰椎间盘突出已经来临。

我是1999年开始使用Delphi,从3到7,中途使用PB,后来2011年全面转向.net开发一直没有变化过,一直在做企业信息系统开发,做这行的一个特点就是工作繁重,需求变化多,反复修改时候多。

不论是客户需求变化产品有新方向,就得加班加点,只有一个就能让你忙活个没完没了。一直在这种赶项目进度的时间里,逼着我要想到底如何才能更快,更好的完成任务。我的老大就问我是否有一个可以直接生成代码的机器人

 

我的信息传统的开发方式是这样的:
分析需求->建立概要模型->概要设计建立模块框架换边界-建立数据模块和UI草图->编码,拖界面->调用Ado.Net->调用SQL语句(写点存储过程或者视图)
其中编码,拖界面,不管是webform还是mvc都是跑不了的,特别是MVC,可视化就更差。
做了N个大小项目后,每一步都让我恶心得想吐,以供应商信息维护为例:
建表:供应商(编码,名称,联系人等等)
画界面:上面的字段挨个拖一遍。
写SQL:增删改查,还是围着数据库表来一遍。
后面优化了一下:用代码生成器CodeSmith,结果生成的代码问题非常多,生成代码的引用问题,要改代码,要改库结构,又重新生成;

后面问题很多,各个公司开始开发自己的框架,想做信息系统的通用型框架;
总结了一下,参照从走出软件作坊的说法,需要具备以下功能
1、用户授权认证,用户组,角色数据与功能权限,平台许可认证,版本差异控制,业务与功能自动升级;
2、用户功能树,管理主控台;
3、表单设计器,业务模型实体设计器,工作流设计器,单据设计器,报表设计器,功能菜单设计器,多语言,多UI,查询过滤定制设计器;
4、UI框架,网格/工具栏/树形/多卡片/菜单栏/按钮/多样的编辑框/下拉框/参照录入,引用录入
5、单个实体录入框架,主从录入框架,列表框架,树形框架;列表/主从转换;
6、运行配置参数设置,单号设置规则;
7、业务预警,后台监控;
8、异常框架,业务实体权限,业务实体存储引擎;业务实体查询框架;
9、报表设计器,套打,二维,交叉,图表框架;
10、工作流引擎;消息引擎;JOB服务引擎;
11、多组织结构工具,数据导入导出工具,数据备份工具,升级更新工具;错误诊断工具,日志跟踪工具;
12、信息集成支持,SSO,OA,邮件,短信,搜索,门户等等;
13、APP开发支持;
公司组织大量人力和物力在2010-2013年开发了自身的平台v1.0和v1.1,由于我本身从delphi开始使用强大的前端开发控件DevExpress家的产品,那么自然在平台中引入了他很多前端的组件,表单设计器,UI设计器,实体XPO,SQLDapper,使用开源的任务调度Quartz.Net,开源的搜索引擎Lucene.Net等等,这个过程中也学习了很多DevExpress自身开发的平台XAF的内容,从而在2014年开始使用XAF平台;


XAF这个平台具备很多优秀的功能,而我认为VS本身也是一个强大的平台,VS也在2015开始有田园版本免费使用,这样可以使开发者能够大幅度提升开发速度;


XAF 2016有很多优秀内容,摘抄总结如下:
一、一次代码编码写,可以同时产生四种项目:1,Web项目(b/s)2,win项目(c/s)3,平板电脑(beta)4,移动端(beta)
二、数据库支持支持14种数据库,SqlServer,Oracle,MySql,DB2.....常见的库都支持了。切换数据库时,无需修改源码,当然如果你开始用了Oracle并且手工调用了SQL语句
三、国际化本地化支持
四、自动机制由领域对象开始自动建立数据库自动建立界面?列表界面?详细界面?搜索界面?内置增删改查,无需SQL编程
五、AOP应用AOP是面向方面的应用,XAF中被应用到了极致,比如,系统内置的 保存按钮,无论你有多少个业务对象,只要这一个保存按钮,它们的行为是一致的,都是保存到数据库的表中去,如果你需要修改保存按钮的文字,只要在一个地方修改,整个系统中都变了。
六、元数据管理
七、DomainComponents技术
八、内置功能模块
一、权限模块:1.支持业务对象级别的权限,增删改查看权限。2.支持字段级权限,某个字段可读可写。3.支持行级权限,某个业务对象中某些条件的记录是否有权限进行 删 、改、查看4.支持上述4种混合权限5.支持角色,并支持角色嵌套,即,角色3=角色2+角色1
二、审记模块用于实现业务对象的变更的每个环境,创建时间、修改时间、删除时间,修改内容,每个属性从什么值变更为什么值,何人操作的。生成的记录相当多,不过可以选择性记录,或自定义。
三、 Business Class Library Customization Module 业务对象支持这是基础模块了,实现了业务对象的无SQL CRUD操作。
四、图表模块可以实现各种图表的显示,柱状图,饼图之类的,如果你用过DEV的控件,你就已经看过它的效果图了。
五、Clone Objct模块实现了业务对象的复制,这是一个小模块。
六、Conditional Appearance Module Overview 条件外观模块,非常常用的模块,实现全局的控制控件是否可用,可见,颜色、字体等 。
七、FileAttachment Module,文件附件模块用于管理附件文件,可以传到数据库中,也可以个性化为文件系统。
八、HTML Property Editor在业务对象中可以使用html编辑器。
九、Notifications Module
提醒模块,像outlook一样,到达某时间给出一个弹出提醒,可以选择推迟或取消,可以在业务模块中进行个性化。比如,到时间提醒去联系客户,更新订单等操作。
十、KPI模块绩效考核模块,
工作的朋友应该都被考核过吧,是标准的模块,可以提供一些图表。
十一、Maps模块支持地图的。
十二、Pivot Chart Module交叉数据分析表+图表模块,在Excel中有交叉数据透视分析表,这个确实相当强大,客户可操控性很强,要什么数据统计结果,随心所欲,当然,客户要愿意操作。这个模块同时带了图表显示,可以将Pivot中的数据同时显示成图表,很直观。 十三、Pivot Grid ModulePivot表格的显示。
十四、报表模块当前版本是16.2了,新的功能不断在增加,以前的版本中我们一直在等很多很好的功能。比如报表模块,以前只能在win中做报表设计,现在web中也有了报表设计器了。相当高大上。
十五、Scheduler 模块和Outlook中的日历一样。
十六、状态机模块做简单审批流用的,还不错。
十七、TreeListEditor 树形列表模块,这个也很常用。
十八、验证模块这个使用频率是最高的,必填验证,唯一验证等 ,你能想到的都有了。当然也提代了扩展接口。
十九、View Variant让一个业务对象有多种是显示方式,并可以快速切换。比如图表界面切换成树形视图。
二十、工作流模块

 

精耕平台路径