首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于延续的python web应用框架设计

基于延续的python web应用框架设计
EN

Stack Overflow用户
提问于 2010-09-18 12:02:00
回答 2查看 628关注 0票数 0

有很多基于延续的java,ruby等框架,但是在python中没有。Nagare框架在一定程度上解决了这个问题,但它没有使用标准python,而是使用无栈python来解决延续问题。

我在想,

在标准python中创建这样的延续web框架的标准python约束的哪一部分?

它的解决方法是什么?延续框架架构中的标准部分是什么(就像MVC中的模型、视图和控制器一样)?

EN

回答 2

Stack Overflow用户

发布于 2010-09-18 12:42:24

在开始考虑编写基于延续的框架之前,您需要一种具有延续的编程语言(或者至少可以用来模拟延续的协同例程)。延续是一种类似循环或闭包或函数的控制结构,而不是像MVC那样的设计模式。不幸的是,(目前)标准Python不支持延续。这也是人们开发无栈蟒蛇的原因之一。

Java是一个有点特殊的情况。语言本身不支持延续,但虚拟机支持(为了支持异常)。我认为他们所做的是在运行时修改编译后的字节码,并重新排序指令,使其看起来支持延续。这有点像用猴子补丁来实现无堆栈的python。

票数 2
EN

Stack Overflow用户

发布于 2010-09-19 04:45:04

是的,延续是一种语言的属性,但遗憾的是CPython没有延续。

纯Python中的变通方法是众所周知的:例如,使用像Twisted和Tornado这样的回调/延迟,或者在任何地方使用‘well’来模仿协同例程,比如迪塞尔。但是这两种方法都会迫使您改变设计和编写应用程序的方式。还可以“重放”延续,这就是基于延续的框架如何自动处理“后退”按钮问题。

最后,准确地说,在Nagare中,我们使用了一个冻结的微线程的酸洗来获得一个延续对象。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3740330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档