问题标签 [object-state]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
316 浏览

c++ - C++ 中对象状态的重构

我想在 LLVM 的帮助下使用 C++ 中的自动单元测试生成方法。该方法应在对被测应用程序 (AUT) 进行动态分析期间自动获取特定对象的状态。记录数据后,我想编写测试。在这里,测试应该在执行被测方法/代码之前使用记录的测试数据重建对象作为设置。

对于对象状态,我指的是对象的所有成员变量值,包括对其他对象的引用(为此我还需要获取和重建整个对象状态)。但是,由于所有成员值都包括私有成员变量的值,所以我遇到了一个问题。据我所知,在 C++ 中无法访问私有成员变量。也就是说,除非所讨论的对象类型是任何“我的对象类型”的朋友,或者为其私有成员提供直接访问功能。

实际上,对于已经在 AUT 的源代码中声明的类型,我可以解决这个问题。在这里,我可以使用 LLVM 在编译期间使用必要的代码来检测类型。但是,我不能对 AUT 使用的预编译库中的引用类型执行此操作。

因此,我的问题是:您知道如何记录和重建我没有源代码的任意对象的完整状态吗?直接复制内存有帮助吗?

由于我的方法实际上是基本(自动)单元测试生成,我确信必须有办法在 C++ 中实现它。毕竟,这类生成器已经用 Java 和 C# 实现了。

0 投票
1 回答
370 浏览

scheme - 变量的局部状态

我试图完全理解对象及其变量的局部状态

这段代码似乎对多次调用的同一过程产生了不同的结果,这意味着局部变量会发生变化:

对于其他代码,它产生相同的结果,这意味着它为每个过程调用创建一个新的局部变量:

我的问题是:

  • 为什么尽管使用let创建了局部变量,它们的行为却不同?

  • 有没有一种方法可以使第二个代码像第一个代码一样工作而不balance作为参数传递make-account

谢谢

0 投票
0 回答
185 浏览

php - 在php中跨不同控制器获取对象状态

当 URI "/service/add" , "/service/update" 命中.. 我想更新服务类的 $service 类成员。基本上是一个持久对象来处理以下问题“问题#101 ” :。

基本上我想通过从Router.php调用不同的控制器来更新(添加/更新/删除一些数组键,即服务))相同的$service数组。

我怎样才能做到这一点。因为我只想更新 $service 数组,所以我没有将它们存储到数据库中并提取到其他控制器中。

在这种情况下:

  • 仅将 $service 数组存储到数据库中绝不是一种选择。(从控制器调用模型)
  • 存储到 session 可能会导致数据风险,如果它包含敏感信息并且 $service 在某些其他情况下可能是大对象。

问题#101:问题是跨不同控制器保留服务类的 $service 状态。

路由器.php

控制器服务.php

服务.php

如果这种模式在整个生命周期中保持对象状态直到对象不是手动销毁而是在 php 脚本执行结束时被销毁,那么使用设计模式解决问题将受到高度赞赏。

0 投票
2 回答
57 浏览

android - 如何使对象的所有内容(计数器,变量)为空?

我想知道我怎样才能让一个对象再次回到它的初始阶段。就我而言,我制作了一个片段并对其进行初始化。我希望当它返回另一个片段,然后返回第一个片段时,第一个对象的所有值和变量再次初始化。

如果不使用 new Keyword 再次初始化它,它怎么能再次回到这个阶段。

0 投票
2 回答
81 浏览

java - 如何进行不同类型的对象状态验证

我需要在指定的日期范围或年份范围内从一个或两个不同的数据源向调用者提供记录。

我的困境是我应该使用重载方法还是带有状态验证逻辑的 Request 对象。

所以要么:

或类似的东西:

其中 Request 看起来像:

}

还是有其他方法?

0 投票
1 回答
19 浏览

reactjs - React 状态下的数学运算

我想显示 % 值的输入。当我记录它时,它显示正确但无法在页面中显示。想要在输入部分下方显示 % 值的输入

这是输入秒