【发布时间】:2011-07-16 19:44:20
【问题描述】:
我对包含有关编程中的无状态和有状态设计的一些具体信息的文章感兴趣。我很感兴趣,因为我想了解更多关于它的信息,但我真的找不到任何关于它的好文章。我在网上阅读了几十篇模糊讨论该主题的文章,或者他们在谈论 Web 服务器和会话——它们也是“有状态与无状态”的,但我对编码中的属性的无状态与有状态设计感兴趣.示例:我听说 BL 类在设计上是无状态的,实体类(或者至少我是这么称呼它们的 - 比如 Person(id, name, ..))是有状态的,等等。
我认为了解它很重要,因为我相信如果我能理解它,我可以编写更好的代码(例如考虑粒度)。
无论如何,真的很短,这就是我所知道的“有状态与无状态”:
有状态(如 WinForms):存储数据以供进一步使用,但限制了应用程序的可扩展性,因为它受 CPU 或内存限制
无状态(类似于 ASP.NET - 尽管 ASP 尝试使用 ViewStates 来保持状态): 动作完成后,数据被传输,实例被交回线程池(Amorphous)。
如您所见,它的信息非常模糊和有限(并且非常关注服务器交互),所以如果您能提供一些更有趣的信息,我将不胜感激:)
【问题讨论】:
标签: terminology stateful stateless