首页 新闻 论坛 小组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 第二书店 程序员

logo

您的位置:CSDN 首页−>新闻频道−>正文

专家视点:快速开发框架的编码总结

2006.12.26  来自:新浪博客   人月神话   共有评论(0)条 发表评论    收藏

开发效率是第一首要考虑的因素,但框架的性能,安全性,可扩展性,组件复用等仍然能够得到考虑.同时考虑这些因素不会带来开发效率的下降。

  最近不到一个月,主要精力还是在快速开发框架的设计和开发上面.开发效率是第一首要考虑的因素,但框架的性能,安全性,可扩展性,组件复用等仍然能够得到考虑.同时考虑这些因素不会带来开发效率的下降。

  对于一个单表数据维护功能根据维护数据项的多少实际代码编写量在50-200行左右.一个主明细表单数据的维护代码量在300-600行左右.对于动态查询功能,前台UI层代码量小于100行.这基本是符合当时的设想的。

  1.组件生成工具节省代码量在30-40%左右.可以支持自定义实体的生成和Typed DataSet生成是一个很重要的功能.为界面UI的可视化和离线化设计提供基础.同时整个功能开发完全不用考虑应用服务层,整个应用服务层暴露到外面的就一个WebServiceClient.dll接口类。

  2.公用方法和公用类应该面向借口,少用继承,多用组合的方式.这也是设计模式强调的内容.当公用方法放在BaseForm里面时候会出现当我们开发一个UserControl时候就无法使用,还得专门再写一个BaseUserControl,造成打量代码重复.因此BaseForm里面应该少含公用方法,公用方法全部抽取到单独的类里面.DataSetHelper,XmlHelper,UIControlHelper,CommonDataHelper等是需要经常使用的公用类。

  3.客户端缓存原有的定时刷新或滑动刷新机制还不能完全满足需求,需要再到数据库中增加缓存对象的配置表,该配置表需要按客户端或用户进行数据区分,以确定哪些数据需要在改变后可以通过Push的方式强制刷新。

  4.MDI框架和各个子系统SDI框架间完全是松散藕合的关系。整个框架中菜单装载通过后台数据库配置动态装载,各个子系统通过反射调用来动态Load进来。

  5.对于每个Form都应该有统一的工具栏,因此这里也有两种实现方式,一种是在BaseForm里面实现工具栏。在这里我采用了组合的方式,将工具栏实现为一个UserControl用户控间。工具栏的所有操作全部抽象为接口,每个Form只需要实现这些接口方法即可。

  6.文件上传采用Ftp方式进行上传,文件上传复用为一个统一的UserControl控件。

  7.通过单独的一个ExceptionManager类统一接管对所有异常的处理,系统出现异常时候可以向用户提供友好的信息,而实际的异常堆栈等信息全部记录到日志文件或记录到数据库。

  这一个月左右的时间写了约8000行代码,23%的代码注释量。给我的感觉就是很久没有写代码开始手生,但捡起来的速度很快。两年多没有看过sql server了,基本1,2天就可以很熟悉了。不熟悉的地方也可以很快速的通过以往资料积累或网上搜索快速的查询到。基本上是对自己想用的东西是很清楚能够在哪里找到的。

原文链接:http://blog.sina.com.cn/u/493a8455010007gd

发表评论 0条】
其他文章
相关文章
最近评论
正在载入评论列表...
热点评论

     
    网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告
    北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号 世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved