关于HR系统升级为集团版的设计总结
来源:互联网 发布:机顶盒u盘装软件 编辑:程序博客网 时间:2024/05/21 08:21
刚刚完了公司HR系统的升级,系统实现了从单一公司使用到多公司使用的转变,在升级的一个多月的时间内,虽然很苦,但感觉自已在系统架构上受益非浅,具体有以下感悟:
一、MVC还是很重要
系统框架是五年前用delphi设计的,采用的基类加扩展类的模式来扩充新业务表单,表单内充满了业务逻辑,由于没有采用MVC模式,以至于我看完并改完了10万源代码,还未包含108支SQL脚本写的报表,若采用了MVC模式,我想我只要改M层就可以了,当系统越大,模式就越重要,不然,系统修改会将软件开发由智力劳动变成体力劳动。在以后的开发中,我想只要系统达到模块级了,就应该采用MVC模式设计,设计前要想清楚、看远一点。
二、分层设计很重要
系统采用的是三层架构,这一点让我省了不了心,数据的提交(新增、修改、删除)封装在中间层,客户端只要调用其方法即可,采用的是客户端采用公文包方式,将变更的数据交给服务端,而不是一个客户端数据集对应一个服务端数据集的模式,提高了业务开发效率。
两层的系统已经无法适应有多分支机构的公司了,即使你现在的公司没有分支机构,也不要用两层模式了,因为外地办公的需要会很快成为你面临的问题。我们可以采用citrix的虚拟应用、虚拟桌面或window的远程桌面来发布我们的两层应用,但从我们的实际使用效果来看,都不如用户直接使用本地程序的体验好,而且还会增加了布署成本,最好直接采用web系统来建立系统。
三、适度封装业务类很重要
系统以前很多方法都封装在一个类中,时间久了,就忘记了这个类中有这个方法,但是若将业务分类创建,那需要相关类的方法时,就会很自然的想到这个方法的类,这样减少了方法的重复开发。
四、版本控制很重要
虽然这次修改由我一个人完成,但在我需要的时候,我可以将某些功能交给其他同事来完成,版本控制给了我一个团队协同开发的选择。
五、存储过程与函数的选择
在修改大量存储过程时发现,里面有许多的insert into #tmp exec myprocedure的语句,若能将这种语句改成insert into #tmp select xxx from dbo.fn_xxxx()的方式,存储过程代码会变得更易于阅读,调用更方便。所以在开发SQL脚本时,能用函数实现的,且返回数据集不是太大(多大算大,不超过5000笔吧),表值函数为我的首选了。
- 关于HR系统升级为集团版的设计总结
- 关于HR工作流的一些总结
- 关于HR的一点思索
- 一个HR招聘的总结
- Cisco 3750 系统升级总结
- Android 系统升级体系总结
- 优酷土豆集团的面试总结
- 简单的银行系统升级版 支持用户密码
- 关于html中hr的颜色设置
- xp/vista系统升级为win7
- 针对通达OA20170729集团版设计门户管理解决方案的具体实例
- 企服三会·PPT | 东软集团冷雪梅:从应用到服务,移动互联网时代下HR的变革
- 为<hr>添加样式
- 万圣节前夜的系统升级
- 系统升级的一个策略
- 系统升级的准备
- 系统升级程序的介绍
- Android 系统升级的对话框
- 如何创建jar包
- 给大家推荐一个不错的51编程论坛,http://51pro.net
- struts2与spring集成时,关于class属性及成员bean自动注入的问题
- MySQL 性能优化的最佳20多条经验分享
- MFC 单文档视图 取消下拉菜单项的折叠问题
- 关于HR系统升级为集团版的设计总结
- NSArrayController,NSManagedObject
- SQL Server 和Oracle 数据类型对应
- 关于编程时IO口的宏定义、画原理图时IO口网络标签的命名;
- 真实股市房市信托本质,金融故事三则:钱都去哪儿了?
- 啊沙发打底衫
- 项目管理的十大原则
- 情报搜集阶段
- 数据公钥加密和认证中的私钥公钥