随想2017-1

原创
2017/01/09 10:38
阅读数 39

公司OA系统是之前的设计,有很多不合理的地方,比如流程与业务绑定的时候。

原来的设计:
在工作流定义 CanComment=1
在业务中进行读取,如果CanComment=1则可以填写普通意见。
在工作流定义 CanDeal=1
在业务中进行读取,如果CanDeal=1 则可以填写领导意见。
业务里的处理方式,在后台读取工作流定义,然后发送到前端,前端判断变量,进行意见的新建和编辑操作。

这个设计有一个重大问题,如果再出现一个比如局长意见,那么工作流定义和业务定义里都需要添加,尤其是业务程序需要同时修改前端和后台程序。

所以这个设计事实上可以直接修改为:
在工作流中定义: CommentType=Deal,Comment
在业务中读取 CommentType 传递到前端,前端直接拆分,进行新建和编辑操作。

** 原则:如果数据本身可以用来控制逻辑,那么就直接使用数据本身来控制,不要额外添加控制字段,这会加深复杂度 **


需要设计一个日志的添加和查询系统,所有的 exception 都需要写到日志中。


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部