由于本人最近一段时间一直在忙着跟企业开发平台相关的事情,所以有感而发一下;主要是想跟大家探讨一下企业是否需要有自己的开发平台;
我们作为.NET程序员,基本上开发的都是一些业务信息系统,都是某个应用行业的应用系统多,所以在下曾想过开发一套目前本公司能用的系统开发平台;
其实本人认为有这个必要,我大概说一下我的看法,也好给大家提个思考的方向;[王清培版权所有,转载请给出署名]
本公司是从事医药行业的信息系统开发,一些大的业务模型基本上已经固定,很少有改动;所以本人想是否能将主要的业务逻辑抽象出来进行封装;再加上我们公司的人员流动比较快,新来的员工对业务的不熟很难上手开发,所以公司经常组织新员工的培训,但是效果还不明显;公司的业务系统所处理的都是全国所有的药品交易数据,所以数据非常重要不能出现任何的小差错;但是还是有因为业务逻辑的不熟导致程序出现错误;
我想这样的情况在其他的公司也出现过,所以公司是否愿意投入点成本开发一套这样的框架;大概的实现思路是这样的,可能存在不足;
1:找老员工或者业务逻辑比较熟的人员进行业务逻辑的提取,抽象出核心业务框架,这个框架是至关重要的,每当业务需求有变化时,这里的代码只能由比较熟悉的人来修改,这样可以防止业务不熟的人员修改引起的重大错误;
2:将目前公司的系统进行重新分割,也就是重新分层,尽量使用插件式的开发方式开发,将功能点严格区分开发,高内聚低耦合的调用约定;这样当系统出现功能改动而不是业务改动的时候,我们能很方便的进行更换;有兴趣的朋友可以参见一下本人的“.NET简谈构件系统开发模式”一文;
3:尽量将界面UI层抽象出来,好处是刚毕业的新员工能有事做,在不熟业务功能的时候能通过慢慢的熟悉大概的界面流程从而熟悉系统;
上面是我的一些总体想法;但是这样的一个系统,说大也大说小也小,具体要看公司的业务了,如果公司是大型的企业,那么可能投入的成本比较大,但是从长远角度讲,还是有必要开发的,我们来算一笔账,这样的账是站在公司的角度来算的,可能对新员工有点不公平;
从公司的角度讲,如果能成功的开发出了这样的一个平台,那么将减少公司对新员工的技术培训的投入,刚来的员工不需要进行复杂的技术培训,只要对新员工进行业务的培训,这样能将大量的精力节省下来去研究业务,这也是公司所想的;只要将公司的核心业务代码抓在一些高级程序员、系统架构师或者一直公司核心技术团队手上,我觉得这样公司能节省很大一部分精力;公司发生过由于删除数据时,不熟悉业务逻辑导致后果非常严重;这样的损失是非常巨大的,所以本人觉得已业务为主导、为核心的企业可以考虑开发这样平台;[王清培版权所有,转载请给出署名]