gpt4 book ai didi

terminology - 无状态与有状态

转载 作者:行者123 更新时间:2023-11-29 09:00:57 25 4
gpt4 key购买 nike

我对包含有关编程中的无状态和有状态设计的一些具体信息的文章感兴趣。我很感兴趣,因为我想更多地了解它,但我真的找不到任何关于它的好文章。我已经阅读了网络上的许多文章,这些文章模糊地讨论了这个主题,或者他们在谈论网络服务器和 session ——它们也是关于有状态与无状态的,但我对编码中的无状态与有状态属性设计很感兴趣.示例:我听说 BL 类在设计上是无状态的,实体类(或者至少我是这样调用它们的——比如 Person(id, name, ..))是有状态的,等等。

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

无论如何,真的很短,这是我所知道的“有状态与无状态”:

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

无状态(类似于 ASP.NET - 虽然 ASP 试图通过 ViewStates 实现有状态): Action 完成后,数据被传输,实例被交还给线程池(非晶态)。

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

最佳答案

Stateless 意味着没有过去的内存。每笔交易都像第一次完成一样执行。

Stateful 表示有过去的内存。以前的交易会被记住并可能影响当前交易。

无状态:

// The state is derived by what is passed into the function

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

有状态的:

// 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

关于terminology - 无状态与有状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17494692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com