首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 缤纷校园 英语学习 | ||
2010考研 | 自学考试 | 成人高考 | 专 升 本 | 法律硕士 | MBA/MPA | 中 科 院 | ||
四六级 | 商务英语 | 公共英语 | 职称日语 | 职称英语 | 博思 | 口译笔译 | GRE GMAT | 日语 | 托福 | ||
雅思 | 专四专八 | 新概念 | 自考英语 | 零起点英、法、德、日、韩语 | 在职申硕英语 | ||
在职攻硕英语 | 成人英语三级 | ||
等级考试 | 水平考试 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 | ||
公务员 | 报关员 | 报检员 | 外销员 | 司法考试 | 导游考试 | 教师资格 | 国际商务师 | 跟单员 | ||
单证员 | 物流师 | 价格鉴证师 | 银行从业资格 | 证券从业资格 | 人力资源管理师 | 管理咨询师 | ||
期货从业资格 | 社会工作者 | ||
会计职称 | 注会CPA | 经济师 | 统计师 | 注册税务师 | 评估师 | 精算师 | 高会 | ACCA | 审计师 | ||
法律顾问 | 会计证 | ||
一级建造师 | 二级建造师 | 造价师 | 监理师 | 安全师 | 咨询师 | 结构师 | 建筑师 | 安全评价师 | ||
房地产估价师 | 土地估价师 | 设备监理师 | 岩土工程师 | 质量资格 | 房地产经纪人 | 造价员 | ||
投资项目管理 | 土地代理人 | 环保师 | 环境影响评价 | 物业管理师 | 城市规划师 | 公路监理师 | ||
公路造价工程师 | 招标师 | ||
执业护士 | 执业医师 | 执业药师 | 卫生资格 |
对于一个单表数据维护功能根据维护数据项的多少实际代码编写量在50-200行左右.一个主明细表单数据的维护代码量在300-600行左右.对于动态查询功能,前台UI层代码量小于100行.这基本是符合当时的设想的。
1.组件生成工具节省代码量在30-40%左右.可以支持自定义实体的生成和Typed DataSet生成是一个很重要的功能.为界面UI的可视化和离线化设计提供基础.同时整个功能开发完全不用考虑应用服务层,整个应用服务层暴露到外面的就一个WebServiceClient.dll接口类。
公用方法和公用类应该面向借口,少用继承,多用组合的方式.这也是设计模式强调的内容.当公用方法放在BaseForm里面时候会出现当我们开发一个UserControl时候就无法使用,还得专门再写一个BaseUserControl,造成打量代码重复.因此BaseForm里面应该少含公用方法,公用方法全部抽取到单独的类里面.DataSetHelper,XmlHelper,UIControlHelper,CommonDataHelper等是需要经常使用的公用类。
客户端缓存原有的定时刷新或滑动刷新机制还不能完全满足需求,需要再到数据库中增加缓存对象的配置表,该配置表需要按客户端或用户进行数据区分,以确定哪些数据需要在改变后可以通过Push的方式强制刷新。
MDI框架和各个子系统SDI框架间完全是松散藕合的关系。整个框架中菜单装载通过后台数据库配置动态装载,各个子系统通过反射调用来动态Load进来。
对于每个Form都应该有统一的工具栏,因此这里也有两种实现方式,一种是在BaseForm里面实现工具栏。在这里我采用了组合的方式,将工具栏实现为一个UserControl用户控间。工具栏的所有操作全部抽象为接口,每个Form只需要实现这些接口方法即可。
6.文件上传采用Ftp方式进行上传,文件上传复用为一个统一的UserControl控件。
7.通过单独的一个ExceptionManager类统一接管对所有异常的处理,系统出现异常时候可以向用户提供友好的信息,而实际的异常堆栈等信息全部记录到日志文件或记录到数据库。
这一个月左右的时间写了约8000行代码,23%的代码注释量。给我的感觉就是很久没有写代码开始手生,但捡起来的速度很快。两年多没有看过sql server了,基本1,2天就可以很熟悉了。不熟悉的地方也可以很快速的通过以往资料积累或网上搜索快速的查询到。基本上是对自己想用的东西是很清楚能够在哪里找到的。