无状态与有状态

2024-04-07

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

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

无论如何,很短,这是我对有状态与无状态的了解:

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

无状态(如 ASP.NET - 尽管 ASP 尝试使用 ViewStates 实现有状态): 操作完成后,数据将被传输,并且实例将被移交回线程池(非晶态)。

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


无国籍意味着没有过去的记忆。每笔交易的执行就像第一次完成一样。

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 https://softwareengineering.stackexchange.com/questions/101337/whats-the-difference-between-stateful-and-stateless

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无状态与有状态 的相关文章

  • 从通知区域发出的卡通语音气泡叫什么?如何创建一个?

    谁能告诉我以下弹出窗口的名称是什么 如何为我的应用程序创建这样的弹出窗口 To be more specific this is indeed called a Notification http msdn microsoft com en
  • 为什么Java的“受保护”比默认的受保护要少? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 什么是Java API?

    我知道 API 是一组规则和协议 任何人都可以用示例向我解释什么是 Java API 及其功能 您可以在这里找到 Java APIhttp download oracle com javase 6 docs api index html h
  • “精化”的反义词是什么

    在世界上通用编程的概念细化很常见 特别是给定一个概念C1 那么我们说一个概念C2提炼C1如果它提供了所有功能C1甚至可能更多 怎么称呼逆关系呢 因此 如果C2是一个细化C1 then C1是一个什么C2 语言学中有两个术语定义了本主题中讨论
  • “包私有”成员访问不是与默认(无修饰符)访问同义吗?

    我对某些文档使用的术语 package private 以及 默认访问 的用法有点困惑 包私有和默认访问不是都与受保护同义吗 是的 几乎是一样的 protected 修饰符指定该成员只能在其自己的包内访问 与 package private
  • VSCode 上的 pwa-node 类型启动配置是什么?

    我注意到 VSCode 为 npm 调试生成的默认启动配置 通过 NPM 启动 默认将配置类型设置为 pwa node 添加 通过 NPM 启动 配置 生成的配置类型 我搜索了一下 但没有找到它的含义 也许与渐进式网络应用程序有关 有谁知道
  • “编译时分配的内存”到底是什么意思?

    在 C 和 C 等编程语言中 人们经常提到静态和动态内存分配 我理解这个概念 但 所有内存在编译时都被分配 保留 这句话总是让我感到困惑 据我理解 编译是将高级 C C 代码转换为机器语言并输出可执行文件 编译文件中的内存是如何 分配 的
  • 经常使用很少定义的术语:左值

    什么是左值 An lvalue是一个可以分配给以下对象的值 lvalue rvalue 它是 左值 或 左手值 的缩写 基本上就是left of the 符号 即您分配的值 作为一个例子 什么是not左值 即仅右值 printf Hello
  • 使用 Stateful Session Bean 来跟踪用户的会话

    这是我的第一个问题 我希望我做得对 我需要从事 Java EE 项目 因此 在开始之前 我尝试做一些简单的事情 看看是否能做到 我被困住了有状态会话 Bean 这是问题 我怎样才能使用SFSB跟踪用户的会话 我看到的所有例子最终都 放入 S
  • 网络直径是什么意思?

    上图所示这个链接 http en wikipedia org wiki Vertex 28graph theory 29的 具有 6 个顶点和 7 个边的图 其中最左侧的 6 号顶点是叶顶点或下垂顶点 有直径4吗 对还是错 定义是 图的直径
  • 来自不同客户端的 EJB3 有状态并发调用

    我有一个富客户端 swing 应用程序调用远程有状态 ejb 我使用的是JBoss 6 0 我已经将客户端部署在两台不同的机器上 即不同的IP地址 jvm等 有状态的有以下代码 Stateful public class MyStatefu
  • 偏航、俯仰和横滚分别与航向、俯仰和倾斜相同吗?

    我有两个不同的系统 引擎 A 引擎 B 发动机A 动机追踪软件 生成 偏航 俯仰 滚转 和发动机 B 4D影院 期望 航向 俯仰 坡度 我的研究得出的结果是这两个系统之间没有区别 Yaw Pitch Roll Heading Pitch B
  • BCL(基类库)与 FCL(框架类库)

    两者有什么区别 我们可以互换使用它们吗 基类库 BCL 字面意思就是基础 它包含基本的基本类型 例如System String and System DateTime 框架类库 FCL 是更广泛的库 包含全部内容 ASP NET WinFo
  • 我可以说构造函数是方法吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想知道我是否可以说构造函数是一个特殊情况method 你可以说什么 是否有人会不同意你的观点取决于具体情况 一些语言社区和标准以这种方式定义事
  • 线程中的临界区是什么?

    请有人能举例简单地告诉我临界区的含义是什么 用简单的语言 A 临界区 http en wikipedia org wiki Critical section是需要在没有外部干扰的情况下执行的代码部分 即没有其他线程可能影响该部分内的 中间
  • 类继承方面的协变与逆变

    协变 和 逆变 概念的含义是什么 给定2个班级 Animal and Elephant 继承自Animal 我的理解是 如果您尝试将大象放入动物数组中 则会出现运行时错误 而发生这种情况是因为大象比动物 更大 更具体 但是您能否将一个 An
  • 网络中的端口是什么? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在学习java网络 我不清楚什么
  • 什么是位掩码?

    我对 C 编程相当陌生 并且遇到了位掩码 位掩码的一般概念和作用是什么 非常感谢例子 掩码定义要保留哪些位以及要清除哪些位 屏蔽是将屏蔽应用于值的行为 这是通过执行以下操作来完成的 按位与运算以提取值中的位子集 按位或运算以设置值中的位子集
  • CSS 术语:这些叫什么?

    考虑 p foo bar CSS 中这些语句的正确名称是什么 我见过它们被称为选择器 规则或规则集 但哪个是正确的 将考虑一条规则 p 本例中的选择器是 p 规则由选择器和声明组成 声明是property value所以整个规则是 sele
  • JAX-WS:有状态 WS 在独立进程中失败

    我在 Tomcat 上部署了一个有状态的 Web 服务 它由工厂服务和主要 API 服务组成 并且工作得很好 工厂服务将 W3CEndpointReference 返回到主 API 实例 客户端使用会话 现在 我尝试将相同的服务作为独立应用

随机推荐

  • FFmpeg RTP 流媒体错误 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想通过 FFmpeg 播放视频文件 但出现此错误 RTP 复用器仅支持一种流 当我写这个时 我得到了这个错误 ffmpeg exe i SomeVi
  • 如何在二维数组中找到北、东、南、西和对角邻居?

    我正在开发一个 2D 程序生成的 Unity 游戏 我想知道如何获得四个基本方向 N E S W 以及四个基本方向 NE SE 西南 西北 我想要实现的目标的示例 如果我们将单元格坐标视为row and column 您可以通过查看我们正在
  • 如何在线程中使用 telethon

    我想在后台运行一个函数 所以我在我的代码中使用线程 但返回错误ValueError signal only works in main thread并且不知道两件事 主线程是什么 如何解决这个问题呢 views py def callbac
  • 资源、放置它们的位置以及如何在 C# 中引用它们

    我已经使用 C 和其他编程语言有一段时间了 很遗憾地说我不熟悉有关在哪里放置程序图标等资源以及如何在代码中引用它们的标准 具体来说 对于 C Windows 窗体应用程序 将我的图标资源放在哪里比较合适 以及将它们放在正确的位置后引用它们的
  • 评估树遍历递归算法中是否可能出现堆栈溢出错误 (Java)

    从理论上 即不实际执行 确定某种树遍历递归算法将在 Java 中产生堆栈溢出的情况的最佳方法是什么 为了澄清我的问题 请考虑以下示例 给定一个用 Java 实现的简单二叉树 public class Node private int val
  • 自动镜像 git 存储库

    使用外部 Subversion 存储库的副作用之一是在每次提交时都会自动进行异地备份 我想使用 Git 来实现同样的目标 即 对本地存储库的每次提交都会自动提交到外部存储库 因此这两个存储库始终保持同步 我认为提交后挂钩将是最佳选择 有人有
  • Android Studio不理解Log函数

    一般来说 我对 Android 编程相当陌生 并且在打印到我的日志时遇到问题 我正在使用 Log v 来执行此操作 但收到错误 无法解析符号 v 这是代码 import android util Log public class Dress
  • 检查 CBPeripheralManager.authorizationStatus() 现在它已被弃用

    CBPeripheralManager authorizationStatus and CBPeripheralManagerAuthorizationStatus根据苹果文档已弃用 现在检查用户是否已授予在后台使用蓝牙的权限的正确方法是什
  • 将 SQL 粘贴到 MySQL 命令行

    我有一个正在定义一些 SQL 代码的应用程序 mySql SELECT sq question qs title sq id as question id sq type qs id as option id sri title as ra
  • 将日期拆分为年、月、日,且分隔符不一致

    我正在尝试将我的日期列 现在是字符串类型 拆分为 3 列 年 月 和 日期 我使用 PySpark split date pyspark sql functions split df Date df df withColumn Year s
  • 由围绕矩形顺时针方向移动的数字组成的图案(长度和宽度每次都减小)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经为许多模式编写了代码 但无法为此编写 甚至没有得到任何如何继续的提示 我想生成以下输出 1 2 3 4 5 16 17 18 1
  • HTML5 中卡片/卡片容器的元素?

    规格为article元素说 The article元素表示页面的组成部分 文档 页面 应用程序或站点中的独立组成部分 并且旨在可独立分发或可重复使用 例如在联合组织中 这可以是论坛帖子 杂志或 报纸文章 博客条目 用户提交的评论 交互式小部
  • 无法在 Chrome 中从 webworker 内部创建 Web Worker

    使用 Chrome 17 0 963 46 m 我尝试从 Web Worker 内部创建一个新的 Web Worker 但得到了 Uncaught ReferenceError Worker 未定义 任何信息 关于这个 令人惊讶的是 谷歌在
  • Laravel Livewire:输入选择,选择默认选项

    我正在尝试从数据库中获取国家 地区代码 并尝试通过 IP 地址获取默认值 它按照我想要的方式工作了一秒钟 但随后我不知道会发生什么 但它会自行刷新并滚动到第一个选项而不是选定的选项 Livewire 控制器组件 use App Models
  • 为什么在 VCL 控件上调用 TRttiContext.GetType 时某些属性会重复?

    为什么有些属性会重复 例如Action and Align 而其他人则没有 AlignWithMargins 当在 VCL 控件上调用 TRttiContext GetType 时 uses System RTTI System Gener
  • 有没有可以渲染 numpy 数组数据的 pythonplotly/dash 图像小部件?

    我正在评估 pythonplotly 和 或 dash 作为更新图像的链接图的 bokeh holoviews 的替代品 要求 将数据点链接到图像 我有散点图和热图 其中各个数据点代表从图像派生的值 我想从散点图中的数据点链接回该数据点的数
  • QT 甚至在 waitForConnected 运行时进行处理

    我有一个循环 应该尝试连接到范围内的每个 IP for socket gt connectToHost addres port do stuff if socket gt waitForConnected 2000 do stuff if
  • 将图像添加到 gridpane javafx

    我正在使用数组列表添加目录中的图像列表 添加图像时 我的 ScrollPane 变得拥挤 如何保持图像之间的间距 这是我的代码 File file new File D SERVER Server Content Apps icons Fi
  • Gmail API 在发送电子邮件时覆盖自定义 Message-ID 标头

    我们使用 Gmail API 代表我们应用程序的用户发送电子邮件 在我们通过 Gmail API 发送的电子邮件的标头中 我们设置了自定义消息 ID 尽管如此 Gmail 仍会用不同的邮件 ID 覆盖我们设置的邮件 ID 以下是我们尝试过的
  • 无状态与有状态

    我对包含有关编程中无状态和有状态设计的一些具体信息的文章感兴趣 我很感兴趣 因为我想了解更多有关它的信息 但我真的找不到任何关于它的好文章 我在网上读过几十篇文章 这些文章模糊地讨论了这个主题 或者他们正在谈论 Web 服务器和会话 这也是