在编写web应用程序得时候,经常会遇到一些重复性得工作,例如:用户说:"我要把表格上某一列,显示在表格得第一列."等等,类似得需求变化,这可能看起来司空见惯得事情,但是你有没有发现,我们一直处在不断修改自己代码,来适应用户得需求变化,为什么我们不能简化这些操作,使用强化控件得方式,来简化我们得修改操作.如果用户得需求变化,主要集中在veiw层上变化,对于controller层和model层没有变化,那么我们在
修改代码得时候,只要修改页面中html标签位置,只要html控件名字不发生变化,那么提交到服务器
端得时候,页面功能得操作也不会出错.所以我们得修改,主要集中在页面中那些html控件标签位置
得放置,和javascript控制页面html控件存储信息得控制.只要我们能管理好页面上得html控件和javascript得操作,我们就可以任意改动页面上得显示位置.我想做一些常用控件,来适应用户得页面需求变化.(暂时讨论页面展示变化,对于功能性得变化,暂时不讨论)我举一个常见得例子,页面上得增删改.(看上去很普通常见,但是实现工业化得开发也很不容易!)
使用javascript+(jsp/asp)+sql server2000 实现.----------------------------------------------------
   ---------------------------
   - 姓名 - 性别 - 年龄 - 身高 -
   ---------------------------
   - 张三 -  男  - 30  - 170 -
   ---------------------------
   - 李四 -  男  - 45  - 180 -
   ---------------------------
   - 王五 -  男  - 22  - 168 -
   ---------------------------   增加  删除  保存
----------------------------------------------------
备注:
增加:点击按钮会增加一行空行,可以由用户自由填写信息.
删除:点击表格中某行,点击删除按钮,可以删除这行信息.
保存:点击保存按钮,可以提交数据库用户得所有操作.用户需求变动:
1.我想把年龄放到,性别得前面.(这个很容易实现,只要改一下查询得顺序就可以了.)
2.我想一个只显示10行数据(你可以使用分页控件,这个也很容易实现)
3.我想点击其中得一行,增加一个右键菜单,并且可以增加,删除,保存功能(这是比必须,
  开发一个右键菜单控件)
4.如果用户说,我不要这种显示方式,我想移动表单得形式(点击鼠标右键,可以移动得层)
(这个时候你的改动将是巨大得,如果项目基本成型,那么所有得模块都将改动,听起来简直就是恶梦,但是事实就是这样!)解释:
   用户得需求得变化,主要集中在页面veiw层上得变化,对于controller层和model层没有改动,
   在修改代码得时候,只要修改(jsp/asp)页面中html标签位置,只要html控件名字不发生变化,那么
   提交到服务器端得时候,页面功能得操作也不对出错.所以我们得修改,主要集中在页面中那些html
   控件标签位置得放置,和javascript控制页面html控件存储信息得控制.只要我们能管理好页面上
   得html控件和javascript得操作,我们就可以任意改动页面上得显示位置.   对于前三种需求变动,估计大多数人都经历过,并且改动也是很平常得事情,但是第四种需求变动,
   估计有很少程序员能忍受了,这中改动将会出现毁灭性得改动.但是现实中确实很常见,类似得改
   动我经常遇见,我得问题焦点主要集中在mvc模式中得view层,不够   灵活导致.所以我们尽量想
   把view层变得灵活.<A>传统得方式.
使用(jsp/asp)从数据库查询出数据,然后在页面上使用循环,逐行显示出来数据,
增删改,都使用javascript控制,然后提交数据库,用户做的修改,一般使用input控件,来实现传递数据.
对于用户需求的改动,程序员拼命得改代码,对于javascript难度,各程序员水平高低不同,结果项目被
弄得各具风格,即使再强得管理,也会弄得问题百出,最后只有草草结束项目,弄得所有人身心疲惫.<B>我建议得方式.
基于组件得开发模式,来细化mvc中得到view层.
首先开发出一般应用常见得控件,例如:表格,移动表单(要求能适应大量改动,具有很高得灵活性)
表格控件:要求可以类似Delphi中DBGride功能,要增加显示控制功能.以上页面显示,可以使用(jsp/asp)从数据库查询出数据,然后放入表格控件内.表格控件分析数据
然后显示.
对于前三种需求变化,修改表格控件得属性,就可以达到需求变化得目的.
对于第四种需求变化,修改控件类型就可以,把表格控件,换成移动表单控件.
这样就可以适应用户对于页面展示需求得变化,程序员得主要工作,就是在控件开发通用性上.-----------------------------------------------------------------------------------
以上只是谈论主要在veiw层上得变化,对于controller层和model层没有变化,我们将在以后谈论.

解决方案 »

  1.   

    这帖发CSDN可惜了.....
    ----
    对啊,发表在开发高手或者程序员上去吧!
      

  2.   

    楼主是不是钟情于javascript呀?
    我觉一直对这样在客户端运行的脚本没什么好印象
    .net里面就做地很不错
    java里面也有struts,以后j2ee标准里面的jsf都是很好的选择
    我也大胆预测一下,将来在java里面肯定会有类似.net的html控件
      

  3.   

    --------------------------------------楼主留言-----------------------------------
    to:jFresH_MaN()(AbsolutelyFresh)(java欣人)我不是钟情于javascript,但是有很多dhtml得操作,令你没有办法,不使用javascript是没有办法,
    很好处理得.我想使用javabean开发一些处理html得控件,struts对于mvc得实现,我感觉还是有些
    粗糙,我只是想谈论mvc中得view,我想细化view,是否大家可以做一个开源得网站,专门做一些处理
    页面html得控件.这样也可以避免大量使用javascript.
      

  4.   

    探讨可以到 http://blog.csdn.net/llhdf/archive/2004/12/09/210439.aspx
      

  5.   

    javascript也可以通过往客户端输出语句来实现view的功能,我觉得肯定是可以做成控件的
      

  6.   

    文章写的很好,分析问题也很有深度。凌科软件的 J2EE B/S 快速开发工具 elinkBSP 完全能够满足你的工业化的要求。
    在 elinkBSP 中 View 显示的样式,列的个数、字段的校验规则、HTML样式等都是通过配置来控制的
    详细 可以到 www.elingke.com 上下载试用。
      

  7.   

    呵呵,good idea!!!
    建议你去看看www.bstek.com,应该对你有帮助.