基于css样式绑定的样式驱动式AJAX程序开发(.net实现)(1)
序言: 前面我介绍了我做的.net版的Ajax库(.NET下的简单AJAX处理库 ),现在要介绍的是一种开发模式:样式绑定式驱动开发。 样式驱动是我自己命名的,(我也不知道它叫什么,嘿嘿)以便区别目前的请求驱动式开发(如struts、webwork等)和事件驱动式开发(如ASP.net、JSF等)。正文:1 简介 首先,让我们来看看传统的WEB开发流程: ·请求驱动: 最常见的一类WEB框架实现了以请求驱动的流程。一个HTTP请求近来,被一个通用的分发器Servlet(Dispather Servlet)分析,再被分发到一个对应的应用处理器。处理器依次处理UI特有的控制逻辑,调用业务对象和处理会话状态,准备一个模型,再转发到视图。 ·事件驱动: 事件驱动框架的设计目标是将桌面UI编程中著名的事件驱动模式搬到WEB环境中来。其特征是;对于如何将表单提交到URL、如何将URL映射到控制器这些问题它们不关心;在事件驱动的框架中,表单组件和监听器联系在一起,监听器通过事件开调用。而且,这类框架通常不打算实现可插拔的试图技术来呈现给特定的模型对象,而是把WEB页看作一写列界面组件的组合物,每个组件可以保持自己的状态,并且知道如何呈现自己,甚至可能使用不同界面皮肤。 从上面可以看到一个是传统的MVC架构是开发,一个是以页面为中心的快速应用开发(RAD)两者各有各的好处。 样式驱动式开发在请求驱动开发或事件驱动开发的基础上进行简单的封装,在界面层融合了以上两者概念优势,它以最前台的界面层为基础,通过CSS技巧">CSS样式或HTC事件绑定界面元素来执行相应后台业务,从而达到执行相应请求,处理相应的事件的目的。 样式驱动的优势在于只需把前台元素赋予特定的样式,即可实现特殊的动能以及特定的业务处理,从而减少编码量和编译的次数,具有“一次编写,到处绑定”的特点。比传统开发复用性更强。尤其是在AJAX大行其道的今天,在请求驱动框架或事件驱动现有框架的基础上利用样式绑定式开发基于AJAX的应用,你会发现你的AJAX程序的开发效率会提高很多,尤其是当反复应用同一(或相似)后台逻辑的情况会更明显,同样,样式绑定式开发对于面向服务式开发也具有很大的优势。 2 基于ASP.NET的样式驱动开发 样式驱动的操作不依赖与后台实现,asp.net的runat=server可以魔法搬地将前台元素转化为后台的元素,不过这样的转化依赖于特定的元素和后台,比如<input type=text runat=server> 这样确实是将input元素扩展成后台可以使用的服务器元素了,但是对于后台来讲他要在页面对应的里进行特定的处理,而且input type=text只能是input type=text也不可能扩展自己的功能。样式驱动则可以把一切元素、控件或控件中的元素利用JS的强大功能在前台转换为你想要的功能和效果,然后再送入原请求或自定义请求,从而弥补asp.net的一些不足,“一次编写,到处绑定”的特点也为我们省去了多个页面类写重复代码的诸多困扰。