在易车工作了近两个月(从7月10号到9月5号),一共做了两个web项目。两个项目各自用的时间都差不多。其中开发人员就两人,我和李淳。现在来总结下这两个月开发的经验。
第一个项目是新闻评论的改版。
这个项目只是他们原有系统的一次改版和升级。老系统中的评论模块是只能对新闻进行评论。而这次系统的目标是做到能对许多“可评论”的东西进行评论。如:新闻、活动等……但是并没有重用原来的代码,而是决定重新开发一次。
采用简单的三层架构:
数据库/DB:表的设计是基于表示层的视图,即需要显示什么,就有什么字段。编写大量的简单的存储过程。表之间没有外键约束。大数据量的表都进行分区操作。
实体/Entity:直接对应于数据表的最简单模型,包含微量的业务逻辑修改。
数据层/DAL:对上层的接口,有直接返回DataTable的,有实体类集合的。调用存储过程完成CUDQ操作,并完成从数据集到实体的转换。这层也负责同步调用其它webservice来获取/更新数据。
业务逻辑层/BLL:对数据层的一般性调用,少数情况也会调用到本层的类进行更多的操作。没有事务。
表示层/PL:
Web Service直接调用BLL的方法。
页面里面,讲究控件的独立。如果页面要给控件传值,则需要使用tag中的属性。
Ajax生成HTML的服务,使用页面完成。这是一个不错的方法。比起使用控件来说,开发效率提高不少。
JS使用prototype.js为底层框架。
第二个系统是活动平台。
这个项目是一个全新的系统。用于网友在平台上发布活动、参加活动等……
系统的架构和上一个系统相似。
开发时的特点是使用XML来描述动态的表单,定义了xsd来规定xml的结构,使用XSLT来生成页面的输出。
大量使用webservice来实现分布式系统,使得调试相对困难。此平台分两个web工程:前台和后台。前台会调用后台的webservice,后台的数据层又调用评论的webservice。
总结:
两个项目都是由产品设计人员设计好需求,美工设计好界面(静态HTML)后,然后再给开发人员进行实现。这样的好处在于,界面已经定下来,一般不会有大的改动。但是由于不是MDD的开发,所以感觉开发人员对需求的理解并不是很到位,所以中途需要不停的与美工及需求人员沟通。
易车工作的其它相关内容:<<20090723>>