网站建设
  简约型网页设计套餐998
  实惠型网站建设套餐2580
  综合型网站制作套餐4980
  网站改版与网站维护
  行业网站建设方案
  大型网站建设解决方案
  企业网站建设流程
  帝网科技网站设计与网站制作
建站FAQ
·网站空间问题解答
·企业邮箱问题解答
 
酷站欣赏
·房产酷站(379)
·综合门户(8 9)
·建筑装饰(603)
·手机通讯(354)
·生活购物(376)
·医疗保健(199)
·文化摄影(602)
·休闲体育(399)
>>更多酷站欣赏
网站优化
·Google(谷歌)优化   ·百度(BaiDu)优化
·雅虎(Yahoo)优化    ·Alexa排名优化   
·Google AdSense   ·DMOZ目录提交  
建站知识
·网站建设知识·网站名词解释·网站运营知识
·网络营销知识·搜索引擎知识·实用技术文摘
网站推广
百度网站推广 google网站推广
搜狐网站推广 网易网站推广
新浪网站推广   雅虎网站推广
  您当前位置: 当前位置:帝网科技 >> web开发 >> .NET专栏 >> 浏览文章
 
 
从UI-DB一条龙到代码生成到EOS,谈谈快速开发
作者:袁袁整理 来源:帝网科技 日期:2008年08月27日 点击数:



人性是懒惰的,程序员尤其如此。再懒惰的人为了让自己过得更舒服,偶尔也会很勤快,程序员还是如此。我是一个懒人,所以赞同金色海洋同学的同学都是懒人。

无可否认,对于懒人来说,极大降低重复工作量的方案无疑是充满了诱惑的。所以在极大的诱惑下我花了很长的时间来思考了一下关于快速开发的问题。毫无疑问VS.NET工具本身就是一个非常优秀的快速开发的系统(比起java来说确实要快速很多),但是对于懒惰的我们来说却是不够的。而且在多层架构下要快速开发使用VS.NET还是会产生很多重复的代码。这对于懒惰的我们来说是极其要命的。所以我们不顾一切的想要 去解决这个问题。

其实最开始进入我们视线的是代码生成器,当时我在负责一个电信项目的开发,中途接手项目,发现这个项目采用了类似duwamish的架构方式。 恩,熟悉我的朋友都知道是VNET,这是最早的微软的一个架构师设计的,想法不错,但是奈何数据访问的代码实在是太多,而参与项目的实习生的水平参次不齐,结果写呀写的就出来了很多很ugly的代码,事实上大家都知道数据访问的代码大同小异,所以我就想是不是可以直接生成代码,于是就自己写了个生成数据库访问类的程序(当时很傻,很天真,其实网上已经有了类似的程序)。

后来项目赶起来,人手又不够,人人都要从页面到数据库一网打尽,结果又觉得 其实在页面上也有很多的重复代码,每个控件取值,验证,做业务处理,写数据库。当时还在2003的时代,还没有FormView之类的东东,于是项目组的另外一个同学就提出了扩展Subsonic的方案,弄出了一个ui->db一条龙的东西。但是发现对大型的项目不是很实用,遂放弃之。

其实其间又考察过另外一款代码生成器,不过这个比我写那个强大多了,直接从数据访问到页面全部生成好了,那个工具连sln都生成出来了,项目都分好了。然后我们需要做的就只剩下了修改代码。不如被否决的原因也很自然,如果修改了代码因为模型改变而需要重新生成的话,那么修改就前功尽弃啦。不重新生成而手动修改的话因为生成的代码是按照分层的架构设计的,所以,和之前我们讨论的一样,分层是不能解决减少修改代码的问题的。让我感觉代码生成有点邪恶的感觉。

不过其间经过这段时间的工作,我发现其实代码生成并不是邪恶的,vs.net在很多情况下已经悄悄的使用了代码生成,比如生成强类型的DataSet,linq2sql的实体类,WebService的代理类。那么合理的利用代码生成其实可以达到事半功倍的效果。于是我开始重新审视EOS。普元的EOS以前我也认为是一个怪兽级的邪恶的东西(死贵,且对其生成的代码不放心,且不是.NET的)。通过拖拖拉拉,点点画画,直接生成界面,和逻辑,包括数据访问,直接包含工作流引擎以及工作流开发工具。当然不是在给EOS打广告,到现在为止那玩意儿还是死贵死贵,而且也不适用于进行网站类项目的快速原型开发,且还是个用java的。换个角度来说,Rails其实也不是由一个ActiveRecord+N多helper和代码生成器组成的“要你命3000”呢?

那么到这里回过头来再来看看 ,前几天金色海洋同学所要实现的东西是不是也是类似的努力呢?那么抛开设计原则,模式,OO什么的,其实是不是我们很多人都是在向同一个目标而去?所以这就是我为什么赞同金同学的原因。

那么抛开那些已经成为意识形态的OO,模式,让向着同一目标前行的同学们来一次酣畅淋漓的大讨论吧。

  相关文章
 
·ASP.NET使用log4Net日志组件教程(日志
·ASP.NET MVC 框架
·C#实现的BinaryTree
·WebForms使用System.Web.Routing
·ASP.NET获取远程网页下载到本地文件
·一个“简单”的ASP.NET的服务器控件
·ASP.net与PHP两大网站开发架构优势对比
·教你七招提高.NET网站性能
·ASP.NET未来:简化开发 HTML5性能提升
·ASP.NET实现类似Excel的数据透视表
·FileUpload上传多文件出现错误的解决方
·.NET从优酷专辑中采集所有视频及信息(
·ASP.NET 4中的SEO改进
·详解Asp.net MVC DropDownLists
·提高ASP.NET应用程序性能的几招方法
·asp.net实现51job地区选择效果
·ASP.NET中创建GeoRSS订阅源
·ASP.NET 4.0开发更加简便
·ASP.NET页面间数据传递的方法
·ASP.NET的SEO:使用.ashx文件——排除
 
 

公司环境 | 合作伙伴 | 人才招聘 | 付款方式 | 关于我们

地址:广州市天河区中山大道中120号D805 电话:020-82529556 传真:020-82529556
广州帝网网络科技有限公司 版权所有 粤ICP备08119341号