• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

什么是对象发布

发布: 2007-6-11 15:06 | 作者: Amos 翻译:limodou | 来源: | 查看: 29次 | 进入软件测试论坛讨论

领测软件测试网

动态内容

对象发布允许你生成动态内容。

不象HTML页面或CGI程序,Zope是以对象的方式来看待一个web应用的。对象是小的内容与行为的混合体。Zope允许你将对象编写在一起来生成强大而又灵活的对象集。这些对象集可以对web请求进行应答。结果就是动态内容。

这一点与通常所创建的web站点有很大的区别。仅仅将一组HTML页面和CGI脚本放在一起来生成一个web站点,并不能生成任何协作。当 HTML页面和CGI脚本被收集进一个web站点时,它们的行为没有什么不同。HTML页面仍然发送同样的静态内容,CGI脚本仍然执行着同样的处理。站点的元素之间不进行通信,而且当改变其中一个元素时,你需要手工更新其它的元素。

Zope却不这样。每个Zope对象感觉上是“聪明的”,它们是自适应的并且可以同其它对象进行通信。Zope对象是协同工作的。对象可以从其它的对象获得信息和作为。将对象联系在一起的方式决定了对于它们哪些服务和内容是有效的。(阅读What is Acquisition?可以了解更多的内容)接着对象适当地根据给定的上下文对象和内容表现自已。这就是发布(publishing)处理。

使用URL来引用对象

那么一个Zope对象是如何被发布的呢?通过URL请求。

为了在Zope中引用一个对象,你要使用URL。这一点与一个web服务器引用HTML文件的方式非常相似。这里有一个URL例子:http://www.example.com/Users/Barney/Song

对于一个正常的web服务器来说,这个URL的意思是返回位于Users目录下的Barney目录下的名为Song的文件。对于Zope来说,这个URL意思是发布位于Userd对象内的名为Barney的对象内的名为Song的对象。

那么有什么不同吗?

对于Zope来说,每个对象都是动态的,例如,如果Song对象可以通过不同的方式来演唱,你只需要向URL增加额外的信息就可以请求一种不同的行为。如:

http://www.example.com/Users/Barney/Song/sing?audience=children&repeat:int=5

这个URL告诉Zope发布Song对象,通过调用它的sing方法,使用参数(audience="children", repeat=5)。

另外,上下文对象影响着对象是如何被发布的。所以在我们的例子中,Users对象可能定义了一个HTML页眉和页脚,同时Barney对象可能定义所有的文本为绿色。所以当Song对象发布自身的时候,在Barney和Users对象中的事实导致了歌词以绿色文本显示,并且带有一个标准的HTML 页眉和页脚。如果你将Song对象移到另一个位置,它将根据不同的上下文对象显示也不一样。

每一个Zope对象都是动态的,并且可以使用不同的方式来发布,从而展现不同的行为。

(责任编辑:铭铭)



延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网