首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无状态vs有状态

无状态vs有状态
EN

Stack Overflow用户
提问于 2011-03-17 01:58:19
回答 8查看 134.4K关注 0票数 104

我对一些关于编程中的无状态和有状态设计的具体信息的文章很感兴趣。我感兴趣是因为我想了解更多关于它的知识,但我真的找不到任何关于它的好文章。我在网上读了几十篇含糊地讨论这个主题的文章,或者他们谈论的是web服务器和会话--它们也是有状态和无状态的,但我对编码中属性的无状态和有状态设计感兴趣。例如:我听说BL-classes在设计上是无状态的,实体类(或者至少我是这么叫它们的--比如Person(id,name,..))是有状态的,等等。

我认为知道这一点很重要,因为我相信如果我能理解它,我就能写出更好的代码(例如,考虑到粒度)。

总之,非常简短,这是我对有状态和无状态的了解:

有状态(如WinForms):存储数据以供进一步使用,但限制了应用程序的可伸缩性,因为它受到CPU或内存限制的限制

无状态(就像ASP.NET一样--尽管ViewStates试图成为有状态的):动作完成后,数据被传输,实例被交还给线程池(无定形)。

正如您所看到的,它的信息非常模糊和有限(并且非常关注服务器交互),所以如果您能为我提供一些更有趣的信息,我将不胜感激:)

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-03-22 17:34:25

我建议您从讨论无状态编程优点的StackOverflow中的question开始。这更多是在函数式编程的上下文中,但您将阅读的内容也适用于其他编程范例。

无状态编程与函数的数学概念有关,当使用相同的参数调用该函数时,总是返回相同的结果。这是函数式编程范式的一个关键概念,我希望您能够在该领域找到许多相关文章。

为了获得更多理解,您可以研究的另一个领域是RESTful web服务。与试图以某种方式保持状态的其他web技术相比,这些技术在设计上是“无状态”的。(事实上,您所说的ASP.NET是无状态的是不正确的- ASP.NET努力使用ViewState来保持状态,并且肯定是有状态的。另一方面,ASP.NET MVC是一种无状态技术)。有许多地方讨论RESTful web服务的“无状态”(如this博客专区),但您也可以从SO question开始。

票数 61
EN

Stack Overflow用户

发布于 2014-08-30 20:35:19

无状态意味着没有过去的记忆。每个事务都会像第一次执行一样执行。

Stateful意味着有过去的记忆。以前的事务会被记住,并且可能会影响当前事务。

无状态:

代码语言:javascript
运行
复制
// The state is derived by what is passed into the function

function int addOne(int number)
{
    return number + 1;
}

有状态:

代码语言:javascript
运行
复制
// The state is maintained by the function

private int _number = 0; //initially zero

function int addOne()
{
   _number++;
   return _number;
}

参考来源: https://softwareengineering.stackexchange.com/questions/101337/whats-the-difference-between-stateful-and-stateless

票数 95
EN

Stack Overflow用户

发布于 2011-03-29 14:41:43

有状态应用程序存储自开始运行以来发生或更改的信息。任何关于它处于什么“模式”的公开信息,或者已经处理了多少条记录,等等,都使它成为有状态的。

无状态应用程序不会公开任何这些信息。它们每次都对相同的请求、函数或方法调用给出相同的响应。HTTP在其原始形式中是无状态的-如果您对特定的URL执行GET,则每次(理论上)都会得到相同的响应。当然,例外的是当我们开始在顶部添加状态时,例如使用HTML应用:)但如果你想到一个只有ASP.NET文件和图像的静态网站,你就会明白我的意思。

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

https://stackoverflow.com/questions/5329618

复制
相关文章

相似问题

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