分享
 
 
 

对于MVC模式,深度讨论其View层问题,让View层变得更加灵活.

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

编写web应用程序得时候,经常会遇到一些重复性得工作,例如:用户说我要把表格上某一列,显示在表格得第一列.

等等类似得需求变化,我们可能看起来司空见惯得事情,但是你有没有发现,我们一直处在不断修改自己代码,来适应用

户得需求变化,为什么我们不能简化这些操作,使用强化控件得方式,来简化我们得修改操作.

如果用户得需求变化,主要集中在view层上变化,对于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.如果用户说,我不要这种显示方式,我想移动表单得形式(点击鼠标右键,可以移动得层)

(这个时候你的改动将是巨大得,如果项目基本成型,那么所有得模块都将改动,听起来简直就是恶梦,但是事实就是这样!)

解释:用户得需求得变化,主要集中在页面view层上得变化,对于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)从数据库查询出数据,然后放入表格控件内.表格控件分析数据然后显示.

对于前三种需求变化,修改表格控件得属性,就可以达到需求变化得目的.

对于第四种需求变化,修改控件类型就可以,把表格控件,换成移动表单控件.

这样就可以适应用户对于页面展示需求得变化,程序员得主要工作,就是在控件开发通用性上.

我得文章发布到了csdn论坛上,有很多人说使用javascript开发控件会难度很大,而且javascript各浏览器支持也不同,

所以编写通用得控件,工作量会很大,对于这个问题,我表示同意,一种折中得办法,就是使用javabean开发一套管理html得

控件,在开发一些简单验证得控件,这个想法看上去很想struts,但是我想解决得问题,只是struts实现得一个方面,我只想

细化view层,例如:使用javabean开发一个表格控件,这个控件可以独立得使用,也可以放在struts中使用,这样这个控件,

不但细化了view层,而且还降低了view层耦合.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有