|
ASP.NET 与 Design Pattern
Draft-2003-03-26
本文的读者对象为熟悉ASP.NET的中、高级开发人员与系统构架工程师
本文详细讨论了基于ASP.NET的系统的设计模式和软件体系构架。
ASP.NET简介... 1
完美Web Tier Application的设计目标... 2
解决之道... 3
ASP.NET的设计模式... 3
1、用户界面与应用逻辑的分离... 4
2、提供中心控制机制... 4
3、给单元测试和维护提供的有效的机制... 5
4、提高系统中各种组件的可复用性... 5
5、减少培训的时间和成本... 5
Web Application Framework. 5
简介... 5
关键技术... 6
意见与反馈... 7
基于Microsoft平台的软件工程师和软件厂商已渐渐将开发的平台转移到.NET上,特别是在Web的编程方面,ASP.NET已被广泛的采用。
ASP.NET的出现给其相应的设计模式带来一个真空地带。人们在学习ASP.NET的同时,却有可能忽略对其相应的设计模式的研究与学习,正如最初使用J2EE时,工程师们在新的编程模型下感到不知所措。在本文主要探讨ASP.NET的应用带来的设计模式上的转变。
ASP.NET简介
由于本文的目的不是教会读者如何使用ASP.NET,所以下面仅对ASP.NET中基于事件驱动的编程模型加以介绍。
ASP.NET 的核心WebForm采用了事件驱动的编程模式,这对于习惯与采用ASP编写Web程序的软件工程师来说,将是一种根本的编程思路的改变,如果不能改变,你将很难掌握ASP.NET的精髓。
事实上WebForm的事件驱动模型与Windows窗口的基于消息的编程模式非常类似。这也看出WebForm的设计者的设计意图。下表对Page中的事件和Dialog事件进行了对比:
Page事件
Dialog事件
Page_Init
INIT_DIALOG
Page_Load
WM_SHOW
Render
WM_PAINT
同时Page中的WebControl,与Dialog中的各种控件也十分类似,都可以设置特定的消息处理函数。
所以,如果在设计、编写WebForm时,更多的将WebForm想象成Dialog则会大有益处。
由此可见ASP.NET的事件驱动模型,给Web Tier Application的设计模式带来了重大的转变,你不可能在沿用ASP的设计思路和方法。
完美Web Tier Application的设计目标
长期以来,Web Tier Application的混乱与复杂,使得人们耿耿于怀,甚至使得软件高手们编写Web Tier Application的兴趣与日俱减。无论你采用何种技术ASP, JSP, CGI, PHP,HTML,都不可能使得程序结构清晰易于维护。
一个完美的Web Tier Application的体系构架应具有以下特点:
[1] [2] [3] [4] 下一页 |