怎样规划这样的代码呢?怎么减少IF呢

Ohyes陈陈 2015-08-19 09:10:19
一个档案管理系统其中的信息变更业务。

人员信息、若干个档案信息如:工作经历、学习简历、年度考核信息等



现在有一个业务就是变更人员信息和档案袋信息,对于档案做出了增删改查提交就会把编辑后的复制把一个状态改了插入原表中。

现在问题是:

1.在提交的方法中会做大量的判断、人员信息是否修改、档案信息是否修改(档案有10多个),因为只有修改的才做相应的,这里面存在10多个的if判断、有办法能减少判断么?

2.因为对每个档案袋的操作都是封装到一个类里面的、根据上面问题。那么会存在10多个档案的对象创建、然后调用他们的方法。
3.假设修改了人员信息、工作经历、学习简历。因为分散在不同类里面,怎么保证一致性呢?

我只是把数据按照上面的方式提交进去就好了、其他不是我做的、所以如果对复制插入原表有异议不用说了。
主要问题就是上面三个、还有就是如果是你会怎样去规划这部分代码?因为现在要增加新的档案袋、现在代码不好扩展、所以在重构!
...全文
98 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
拜一刀 2015-08-19
  • 打赏
  • 举报
回复
1.在提交的方法中会做大量的判断、人员信息是否修改、档案信息是否修改(档案有10多个),因为只有修改的才做相应的,这里面存在10多个的if判断、有办法能减少判断么? 在客户端先做好判断,比如搞几个,默认为零修改了置一的数据(是叫flag?),服务器上光判断这几个数据就够了就减少工作量了?
  • 打赏
  • 举报
回复
这么多文字里面才出现了一个if,已经很少了 你在这里拿中文进行描述,还不如贴上你的代码(如果实际代码不行,那就贴伪代码),光看中文就一个if已经很少了
clark_kidd 2015-08-19
  • 打赏
  • 举报
回复
把“档案”抽象成一个基类 function bool 档案.Changed(){ //if changed then return true } public function void 档案.Save(){ if(Changed()){ //do save } } X1档案.Save() X2档案.Save() X3档案.Save() X4档案.Save() ...

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧