我心目中的企业应用系统框架
从事企业应用系统开发也有一些年头了。从最初的Asp到现在的C#,大大小小的系统也写了不少。可总是感觉自己每天像是在做重复的,繁琐的劳动,而这些与我心目中的企业应用系统开发有着不小的差距。老实说,前几年在技术方面没有潜心钻研,当发现自己已经落伍后才感觉有些担心。所以从今天起,我要全力学习各方面的技术,搭建一个我自己心目的企业应用系统框架。
废话不多说,框架这个东西网络上有很多,但不一定是适合每一家公司的。在这里我只说说我心里的想法,并且将这些做为一个提纲,以便在以后的日子了逐个去突破,并最终实现这个框架。(有兴趣的朋友可以和我一起学习~~)
我把这个框架分为几部分
一、关系数据库
做企业系统开发,抛开数据库来谈是不行的。特别是在制造企业里,每天的数据量大得惊人,因此数据库对企业系统开发来说是重点,也应该是企业开发框架的一部分。
1、统一的字段规范
在这个框架里,所有的表都应该遵循一个规范。一旦这个规范定义好,框架里的表不遵守规范定义,则不能被应到系统中去。如每个表中都应有一个标识唯一的ID字段,没有这个字段的表将不能正确的呈现数据。
2、统一历史记录
每个表都应对应一个历史记录表。
3、统一的EDI交换模式
企业系统难免和其他系统进行数据交换,所有的数据交换都应是统一的。
4、杜绝包含业务逻辑的存储过程
我个人认为,存储过程中不应该进行有关业务逻辑的计算,业务逻辑的东西不属于关系数据库
二、ORM
有了统一标准的数据库规范,那对于ORM部分来说就好办了。不过目前本人对ORM不是很明白,是我有待学习的部分。故不能在这里发表什么意见。只是根据我自己所了解的,准备了一个学习的方向。
1、参考iBitis.Net。
目前在公司里有一个系统在使用这套框架,可惜的是没有得到重用。我认为这个框架基本上符合ORM的标准,因此它将作为我进行ORM部分的重要参考代码
2、DataSet不是ORM。
目前公司有些系统是采用DataSet的模式来进行数据操作的。DataSet有自己的优点,但我认为它不是ORM,所以在我以后的框架中,会杜绝DataSet。
三、业务类库
应全部应用面向对象的思想,对企业进行对象化。在每次需求分析的时候,就着手建立业务对象类库。这样随着需求的逐渐增多,新的业务类将被添加,旧的业务类将被更新或保持不变。最终形成一个包含在类库中的企业。我个人认为,凡在企业生产、办公中出现的实体,都应在这个类库中找到对应的类。
四、基础工具类
在开发中一些常用的工具类应被封装,应包括字符处理、图像处理、基础运算、类型转换等等“放之四海皆通用”的方法,这个工具类将会体现本企业所有程序员的经验与积累。
五、服务器宿主群
呵呵,我自己随便编的名词。意思就是应该为企业搭建很多WCF的服务宿主程序,甚至是云服务。不过这个对于很多企业来说有点困难。我自己也是YY而已,具体的要深入学习后才知道。
六、客户端主框架
1、Web框架
全部Web页面应采用统一的模板页。比如上方时标题,接着是菜单,左侧是常用链接,中间是工作区域。
2、Form框架
如果采用WinForm的客户端,个人认为应采用菜单栏+工具栏+左侧树形菜单+Tab型的多文档工作区
3、Office+插件
这个在本公司还没有应用,但从我的观察来看,进行Office插件开发对于大量使用Excel工具的部门来说太有用了。因为没人愿意在熟悉的Excel中做了一份数据,然后再花时间到你的系统中去录入。
七、界面元素
通常情况下,可采用各种通用的界面元素。当然如果有精力的话,也可以自己开发界面控件。但我个人偏向于购买各种成熟的界面控件
八、界面元素的对象的绑定
这个我也说不上来是什么东西,总认为应该开发有通用的绑定模式。如所有的下拉框、单选框、复选框等是采用统一的绑定模式
九、工作流
用WF吧,也可以不用自己来写。个人认为将工作流引入到自己的企业框架中还是很有用的,省去了很多开发
十、账号与权限
公司实行了AD管理,因此账号一块就不用考虑了。那么统一的权限管理则变得重要起来。
以上这十点是我认为我的企业应用系统框架中应该包含内容,大部分我都不是很精通,都需要花费时间来研究。尽管上面有很多话都是在瞎说,该拍砖的请进行拍砖,但也请毫不吝啬的进行意见指导。如有相同癖好的,也可一起搞搞,哈哈~~