编码技巧模式1

编码技巧模式(Coding skill patterns)                                                            Web Application 视图层数据控件编码模式:

该文主要分析一下在Web应用程序 视图层中添加数据绑定控件(如树视列表,树状菜单,ASP.NET中的Rich control)的一些可行方案.本人从中提取出一套关于视图层(View layer)的数据控件(Data control)的使用模式.

通常,按数据获取源来划分,数据绑定控件(Data binding controls)可分为 静态动态 的两种方案:静态数据绑定控件例如层叠多级菜单通常被用在页面导航栏,因为这一部分内容通常都比较稳定;动态数据绑定控件如ASP.NET中现成的DataGrid和由第三方开发的自定义控件用户控件.netCharting, 多用于需要进行频繁变动的数据信息页面或版块.下面给出两种方案的各种 代码结构模式:

静态实现模式:
a.服务器端(JSP,ASP.NET)/客户端(如javascript)页面技术 + 页面内硬编码;
b.服务器/客户端页面技术 + 文本(数据源);
c.服务器/客户端页面技术 + xml(数据源).

动态实现模式:
d.服务器端页面技术 + 数据库(数据源);
e.服务器/客户端页面技术 + xml(中介源) + 数据库(数据源)

可行性分析:
静态技术主要用在页面内容相对稳定处:
a模式最为原始,只能算作一个基本功能实现,逻辑代码数据耦合不利于日后维护和扩展,基本上不推荐;
b模式较之a初步实现了逻辑代码与数据的解耦,但文本数据源数据表示方面,可读性可维护性远不及xml,故模式c为最佳推荐。

动态技术显然是用于不稳定之处:
d模式通常由 数据访问层(Data access layer)获得并提供数据,再由业务层(Business layer)把数据传到前台表示层(View layer),JSP中可创建专用的视图助手(View helper)类获得数据并提供呈现,ASP.NET中可用用户控件(User control)来实现同样效果。

众所周知,在很多中小型网络应用中,逻辑分层并不是那么明显甚至并非必要,表现,业务,数据访问各层通常会有很多的穿插耦合,所以可以根据实际情况免去中间多余元素.推荐用视图助手(JSP)或 用户控件/自定义控件程序集(ASP.NET)来实现,此类组件可被日后方便地重用.

e较之前面诸方案多了一个xml中介源.分别介绍两种实现方法:

第一种方法中通过数据库导出数据到xml数据文件,然后应用程序通过xml数据文件获得数据,此方法较之d模式又增强了数据的可重用性,但同时也牺牲了相应的性能对数据的实时处理能力;

第二种方法也是在d模式的基础上用ORM(对象关系映射)方式实现,ORM框架Java中诸如Hibernate,NET中有ObjectSpaces.可选通过数据访问层xml对象关系映射表的读取来操作数据,此方案同样也会丢失一些性能.

总体归结,c,d,e为首选参考方案,适当情况下也可用a,b.总的要根据实际情况选取最佳解决办法.
匆忙之作,务请包涵,也望高手提携.
下回我将给出本次详细案例分析.
本人QQ:52388483. E-mail:newtalentxp@126.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值