苯苯的博客

新随笔 联系 管理
  21 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

 

最近做了个小项目,然而却又遭遇了半年前项目开发的噩梦--无休止的琐碎的修改。不止一次大声呼喊“准确的需求分析”,然而客户总爱打理不理,出了问题更是动懂嘴唇-"改"。

 

系统分层:

Model

实体

Dal

数据层

Page(View,Edit,List,Add)

页面

 

 

页面分析

View

查看(BindData,Control.Enable=False)

Edit

编辑(BindData,UpdateData)

List

列表(BindData,JS=View,edit.position)

Add

添加(AddData)

 

 

Dal:

Add

SqlHelper(数据参数)

Update

SqlHelper(数据参数)

Get

SqlHelper(数据参数)

 

 

修改复杂度:

1

添加,改名或者删除并且不影响其他地方

2

添加,改名或者删除,需要修改数据类型,并且不影响其他地方 一个地方

3

其他地方 多个地方

 

 主要的问题是:

 

修改情况

需要修改地方

总数

复杂度

增加数据库表中字段的时候

Model,

DAL,

View,

Edit

List

SQL

6

1

2

3=======15

3

3

3

修改数据库表字段名称

Model

Dal

View

Edit

List

SQL

6

1

1

1

1======9

1

3

修改数据表数据类型

Model

Dal

View

Edit

List

SQL

6

2

2

2

2========13

2

3

 

删除数据表

Model

Dal

View

Edit

List

SQL

6

1

1

1

1========8

1

3

 

修改查询方法

Sql

Dal

List

3

3

2=========8

3

调整页面显示

Edit

View

 

2

3

3====6

调整List页面

List

1

3

 

现实就是没有完整的准确需求分析。所以要求也是迅速修改。开发的时候你可以用代码生成器,但维护的时候,只剩下感叹的份。

 

 现在我的目标是:在分层的情况下,尽量减少代码的修改量,尤其是页面那块,出错率很高。

 

解决方案:

  1.  整体的数据传输为List<model>来实现编译时强类型的验证 
  2.  后台数据层采用ORM(.net 2.0)或者LinqToSql(.net 3.5),当然如果用ORM修改的地方又多了XML+SQL.但少了SQL+DAL,平衡下感觉ORM改的更少些。
  3.  页面部分准备用DEVPRESS控件,这个可以极大的减少我的代码量,并且可以实现更复杂的功能,尤其是有个配置页面显示的功能比较适合。
  4.  还有个比较头疼的是,页面部分的添加和修改,都需要实体的赋值那块,应该和成一个。

 

posted on 2008-07-22 07:29 one 阅读(34) 评论(0)  编辑 收藏 网摘 所属分类: 工作

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-11-06 11:30 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: