轻量级开发的成功秘诀,第 8 部分: Seaside
2009-11-11 00:00:00 来源:WEB开发网所以,Seaside 对用户来说是可预测的,而不是对编程人员是可预测的。正如您知道的那样,奇妙之处在 continuation 的字典。Seaside 每捕获一个 continuation,就将它保存在一个字典里直到一段时间过去,会话到期。Seaside 给 continuation 一个 ID 并把它放到 URL 中保存。我的 URL 是这样的:
http://localhost:9090/seaside/counter?_s=xtpbLpOxwPydFSTm&_k=RmlyloFD
问号后面的奇怪字符串是 continuation 的 ID。当单击 Back 两次并点击 + 一次的时候,Seaside 根据 continuation 标记载入应用程序状态,并简单地继续从那一点开始操作。也就是直接返回到一个先前的调用栈。(与 Java 语言不同,Squeak 使用动态的数据结构代替调用栈,但概念是一样的。)
让我们来看看这个程序的代码究竟是怎样的。可以从浏览器中看到。在页面的底部有几个有用的链接(参见图 2),包括一个帮助确定内存使用情况的链接、一个配置文件链接和一个管理用户会话的链接。点击 Toggle Halos 链接。
图 2. Counter 程序中的链接
注意,一个有三张图片的方框围住了所有的组件。第一张图片是一个代码编辑器,第二张是一个检查工具(用于查看系统中对象的值),第三张是一个样式编辑器(用于编辑组件的样式表)。
右击第一张图片,在新窗口中打开链接。出现了一个 Squeak 类浏览器。在第一个框中,单击 Seaside > Examples > Test。那是模块,就像 Java 的包。在第二个框中,单击 WACounter。那是类。WA 代表 Web 应用程序。在第四个框中,会看到方法。
更多精彩
赞助商链接