我的系统框架。

本文介绍了作者的系统框架,由UIMapper和业务模版两部分组成。UIMapper用xml定义界面信息动态生成界面,具备ListView、EditView等多种功能;业务模版包含Common DAL、业务DAL等多个部分,80%业务可用此模版。还提及使用的工具和后续计划,因团队人力有限采用此框架。


 我的系统框架,如下,由两部分组成,1 、UI Mapper 2、业务模版。

ceis1.jpg
一 、UIMapper
        所谓的UIMapper就是用xml定义界面信息,动态生成界面,如WilsonUIMapper,AAL,国内的商业http://222.66.27.203:8080/extrasample 。
      我做的UIMapper包括以下功能:
     1、ListView 其实就是datagrid,如果采购单列表;
     2、EditView div+css+DataGrid(如果有从表),如金蝶的输入采购单界面,采购单的基本信息+采购单明细列表(批量操作)。
    3、检索查询,由上面的xml信息,提取部分信息,并构造查询界面(在ListView 使用),用户设置查询方案,如 五金件、原材料。
   4、快速查询。根据1、2信息,有管理员定制查询界面,供用户查询使用,如用户查找
编号从100到200零件。3跟4的查询不一样,3是用户定制好的,常用的查询,以下拉框的形式出现。4是管理员定制好了查询界面,以弹出窗口的形式。
  5、关联窗口,如用户输入采购单明细时,要从零件的窗口选择零件,弹出的窗口,有点像金蝶的,左边是分类树,右边是数据,可crud和打印等.可批量选择;
  6、批量操作,键盘移动表格光标等。
  7、导出word,excell等。
  8、数据验证。
  9、排序、统计、分页,数据提示(如库存量少于安全库存时,颜色改变,可字体、单元歌,行 的颜色改变)等。
 10、其他,如新增默认值等。如A新增入库单时,默认库房是材料库,而B则是成品库,做要是减少客户的操作。
 
 二 业务模版。
  1、  Common DAL ,封装了ado.net,上层调用 db.Save(ds,tableName,alias)即可,不用写连接、参数等,由于使用Cache,性能还不错。还有通用分页等。
  2、业务DAL,只是Common DAL 封装一下,有2个用途 可能数据来自别的数据库或者需要性能整,这两点就使得可能用不了Common DAL。
 3、业务规则,使用模版模式,封装了log,权限等等。若有业务运算,override一些方法即可。
4、业务外观,其实这里已经不是业务外观,但不知道叫什么好,它是做业务运算之前,处理一下dataset,如编号生成等。
5 、业务代理和服务定位,业务代理对业务做了Cache功能。服务定位则是查找业务,之所以加入业务代理是因为 日后要做smartclient,需要webservice或者.net remote。
  
    基本上,80%的业务可以用这套模版来做了,而且我做了个生成工具和维护工具,做个表单的 crud几分钟而已,而且功能也不烂。对于有些界面和功能,就得老老实实写代码了。对于EidtView界面,我很快就会加入表格设定功能,而smartclient,则需要等几个月了。日志,使用了log4net,单元测试则用nunit。下个月会加入工作流,至于ORM,还没有找到合适的。
  这套模版是去年11月刚转向.net设计了,有较多地方不合理,我也重构了N次,但是一直要做业务方面的开发,没有太多时间。或许很多人反对我这样的做法,但是我们的团队
只有几个人,熟悉.net的只有2-3个,而要做的模块有18个,表单超过400张,不得不出此此下策。如后升级到.net 2.0也较容易。
 欢迎批评。

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值