在所有的业务系统中,百分之八十的操作是增删改查操作,并且大部分的增删改查操作,都是相似的界面呈现,包括:查询、列表、明细、分页、导航等几部分。
如何在页面中有效的进行组织和开发,达到所有的界面效果统一风格统一,就需要自动化的生成工具。
所谓自动化生成工具,就是将大部分的相似的操作代码,由工具自动生成。
要达到所有的编码编写由工具统一生成,编码必须精炼,无误,为了减少编码的耦合度,可以将复杂的界面封装成独立的用户控件,用户控件内部进行高聚合,复杂界面由几个简单的用户界面进行组合。
上面的界面中,各个大的控件相互独立,控件的显示和布局位置,统一由配置界面中的配置信息进行管理,这样可以进行定制化的界面需求处理。
界面配置信息如下:
界面字段显示和控制尤其是属性值得校验这是在业务系统中最繁琐的地方,有时为了防止用户输入错误,需要对输入值进行某些表达式的校验和验证,如果系统很庞大,这样的校验过程往往会造成很多小的bug,尤其是在软件产品化的道路上,不可能为了应付某些需求,而产生多个软件版本,为了避免校验信息的硬编码需要将属性独立到配置信息中,但这仅仅解决了配置相关的处理。
在业务系统中如何解决不同的用户和不同的角色,可以呈现不同的界面,传统的很多做法是做多个界面,不同的界面中只是字段多少的差异,在角色分配时,直接进行界面层面的分配,但这往往会造成同一bug,需在多个界面维护,对开发人员直接造成了巨大的开发压力。如何做到在同一个界面上,根据不同的角色显示不同的字段信息,包括编辑属性信息,这就需要细化到界面中的每一个控件的属性处理,如果仅仅是对界面中的控件进行显示隐藏等简单的处理,又会造成界面的坑坑洼洼,难以查看,更好的办法是所有的界面控件在运行时进行重绘,利用控件的浮动性,进行重组。
通过配置信息配置后的两组图片:
第一组中有必填数据校验和输入提示信息。在第二组中,输入校验信息和提示信息通过界面角色配置关闭,并且字段属性也将备注和编辑时间进行了隐藏,整个控件会自动重绘浮动到相关的位置,这样在同一个原始界面上实现了两组不同的显示,根据用户对应的角色,赋予不同的界面显示角色权限,实现了界面显示的权限管理。