型。
向软件开发人员提出了些特有的挑战,最明显的就是客户机和服务器的无状态连接。
这种无状态行为使得模型很难将更改通知视图。
在上,为了发现对应用程序状态的修改,浏览器必须重新查询服务器。
另个重大变化是实现视图所用的技术与实现模型或控制器的技术不同。
当然,我们可以使用或者或别的语言代码生成。
这种方法有几个缺点程序员应该开发服务,而不是。
更改布局时需要更改代码。
服务的用户应该能够创建网页来满足它们的特定需要。
网页设计人员不能直接参与网页开发。
嵌在代码中的很难看。
对于,需要修改标准的形式。
图显示了的改写版,通常也称为或。
图,的种实现是组相互协作的类和标记,它们组成个可重用的设计。
这个定义表示是个框架,而不是个库,但也包含了丰富的标记库和独立于该框架工作的实用程序类。
图显示了的个概览。
图概览概览客户浏览器来自客户浏览器的每个请求创建个事件。
容器将用个响应作出响应。
控制器控制器接收来自浏览器的请求,并决定将这个请求发往何处。
就而言,控制器是以实现的个命令设计模式。
文件配置控制器。
业务逻辑业务逻辑更新模型的状态,并帮助控制应用程序的流程。
就而言,这是通过作为实际业务逻辑瘦包装的类完成的。
模型的状态模型表示应用程序的状态。
业务对象更新应用程序的状态。
在会话级或请求级表示模型的状态,而不是在持久级。
文件使用标记读取来自的信息。
视图视图就是个文件。
其中没有流程逻辑,没有业务逻辑,也没有模型信息只有标记。
标记是使有别于其他框架如的因素之。
详细分析图示的是包的个最简图。
图显示了和之间的最简关系。
图与之间的关系的图类您还记得函数映射的日子吗在那时,您会将些输入事件映射到个函数指针上。
如果您对此比较熟悉,您会将配置信息放入个文件,并在运行时加载这个文件。
函数指针数组曾经是用语言进行结构化编程的很好方法。
现在好多了,我们有了技术,等等。
的控制器是将事件事件通常是映射到类的个。
正如您所料控制器使用配置文件以使您不必对这些值进行硬编码。
时代变了,但方法依旧。
是该实现的部分,它是这框架的核心。
创建并使用和。
如前所述,文件配置该。
在创建项目时,您将扩展和来解决特定的问题。
文件指示如何使用这些扩展的类。
这种方法有几个优点应用程序的整个逻辑流程都存储在个分层的文本文件中。
这使得人们更容易查看和理解它,尤其是对于大型应用程序而言。
网页设计人员不必费力地阅读代码来理解应用程序的流程。
开发人员也不必在更改流程以后重新编译代码。
可以通过扩展来添加功能。
类维护应用程序的会话状态。
是个抽象类,必须为每个输入表单模型创建该类的子类。
当我说输入表单模型时,是指表示的是由表单设置或更新的般意义上的数据。
例如,您可能有个由表单设置的。
框架将执行以下操作检查是否存在如果不存在,它将创建该类的个实例。
将使用中相应的域设置的状态。
没有太多讨厌的调用。
例如,框架将从请求流中提取,并调用。
框架在将传递给业务包装之前将更新它的是,如果让网页设计人员使用点,他将使用大量的。
在的开发中,我总是看到这样的情况。
在开发中,您应该创建对象,然后编写少量的脚本将这些对象联系起来。
但是,开发人员会疯狂地使用脚本。
我会听到这样的话,既然我可以用直接编写对象,为什么还要等开发人员来创建它呢通过使用标记库,有助于限制文件中所需的代码的数量。
就是这样的种库,它对有条件地生成输出进行管理,但这并不能阻止开发人员对代码的狂热。
无论您决定使用哪种类型的框架,您都应该了解您要在其中部署和维护该框架的环境。
当然,这项任务真是说起来容易做起来难。
有限的适用范围是种基于的解决方案,所以必须用文件和来实现它。
应用程序支持需要支持和规范的容器。
仅凭这点远不能解决您的全部安装问题,除非使用。
我用安装这个库时遇到大堆问题,按理说它是第种符合的应用程序服务器。
我建议您在遇到问题时访问用户邮件列表的归档资料。
复杂性在将问题分为几个部分的同时也引入了复杂性。
毫无疑问,要理解必须接受定的培训。
随着变化的不断加入,这有时会令人很沮丧。
欢迎访问本网站。
的前景在这个软件开发的新时代,切都变得很快。
在不到年的时间内,我们已经目睹了从到再到使用的直到现在的和的变迁。
正在尽力将新的变化反映到体系结构中,正如他们对语言和所作的更改样。
您可以从的网站获得新的和规范的草案。
此外,个标准标记库即将出现。
的状态。
在将它传递给类之前,还会对调用方法进行表单状态验证。
注这并不总是明智之举。
别的网页或业务可能使用,在这些地方,验证可能有所不同。
在类中进行状态验证可能更好。
可在会话级维护。
注文件控制表单请求与之间的映射关系。
可将多个请求映射到。
可跨多页进行映射,以执行诸如向导之类的操作。
类类是业务逻辑的个包装。
类的用途是将转换为业务逻辑。
要使用,请创建它的子类并覆盖方法。
使用方法将参数化的类传递给。
仍然没有太多讨厌的调用。
当事件进展到这步时,输入表单数据或表单数据已被从请求流中提取出来并转移到类中。
注扩展类时请注意简洁。
类应该控制应用程序的流程,而不应该控制应用程序的逻辑。
通过将业务逻辑放在单独的包或中,我们就可以提供更大的灵活性和可重用性。
考虑类的另种方式是设计模式。
的用途是将类的接口转换为客户机所需的另个接口。
使类能够协同工作,如果没有,则这些类会因为不兼容的接口而无法协同工作。
摘自所著的。
本例中的客户机是,它对我们的具体业务类接口无所知。
因此,提供了它能够理解的个业务接口,即。
通过扩展,我们使得我们的业务接口与业务接口保持兼容。
个有趣的发现是,是类而不是接口。
开始为个接口,后来却变成了个类。
真是金无足赤。
类图图还包括和。
封装了单个消息。
是类的容器,可以使用标记访问这些类。
是保持列表的方式。
图与之间的关系的图类输入事件通常是在请求表单中发生的,容器将请求转换为。
控制器查看输入事件并将请求分派给个类。
确定调用哪个类。
配置信息被转换为组,而后者又被放入容器中。
您可能尚未注意到这点,以结尾的类就是容器包含有关特定事件如何映射到特定的信息。
通过方法将传递给类。
这样就使可访问用于控制流程的信息。
是对象的个集合。
的优点标记机制的使用标记特性从文件获得可重用代码和抽象代码。
这个特性能很好地集成到基于的开发工具中,这些工具允许用标记编写代码。
标记库为什么要另发明种轮子,或标记库呢如果您在库中找不到您所要的标记,那就自己定义吧。
此外,如果您正在学习标记技术,则为您提供了个起点。
开放源码您可以获得开放源码的全部优点,比如可以查看代码并让使用库的每个人检查代码。
许多人都可以进行很好的代码检查。
实现样例如果您希望创建您自己的实现,则可增加您的见识。
管理问题空间分治是解决问题并使问题可管理的极好方法。
当然,这是把双刃剑。
问题越来越复杂,并且需要越来越多的管理。
的缺点仍处于发展初期开发仍处于初级阶段。
他们正在向着发行版本






























1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
