问题标签 [object-graph]
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.
java - 如何在我的对象层次结构中找到循环?
有一个类Company
,它引用另一个实例Company
来表示parent
. 假设有四家公司c1
, c2
, c3
&c4
和c2
,c3
的c4
母公司设置为c1
。
例如:
如果我们设置c2
为母公司c1
:
然后它将在公司层次结构中创建一个循环复杂度无限循环,我们必须在我们的系统中避免这种循环。
我们希望能够在运行时检测到这一点。在上述情况下,检查同一类对象的圈复杂度的最佳算法是什么?
scala - 在某些情况下不可能创建不可变的对象图吗?
我知道不变性并不总是圣杯。但是,由于我现在学习 Scala 已经有一段时间了,所以我总是首先尝试找到一个不可变的解决方案,尤其是在涉及纯“数据对象”时。我目前正在寻找一种为给定场景创建不可变对象图的方法,但我不确定这是否可能。
我只想创建一次图形,创建后不需要更改。
想象以下场景:
- 只有一种类型:
Person
. Person
对象可以有两种类型的引用:Person
Person 和潜在的孩子(也是类型)之间存在单向的 1-n 关系。- 此外,妻子有丈夫,反之亦然
第一个问题是两个配偶之间的关系是循环的。因为设置引用会产生新对象(由于不变性),所以最终配偶 A 指向配偶 B_old,而配偶 B 指向配偶 A_old。另一个帖子中有人说循环引用和不变性是矛盾的。我认为这并不总是正确的,因为配偶 A 可以在自己的构造函数中创建配偶 B 并通过this
- 但即使使用这种不舒服的方法,之后添加子引用也会再次更改 A 和 B。反过来——从孩子开始,然后联系配偶——会导致类似的情况。
目前,我认为没有办法做到这一点。但也许我错了,有一些我不知道的模式或解决方法。如果不是,可变性是唯一的解决方案吗?
entity-framework - 实体框架急切加载嵌套对象图,错误列名无效
猜猜,我在急切加载嵌套图时缺少向 EF 通知导航属性。请让我知道我错过了什么?
我的简化对象图
尝试加载 Product => 及其 Tasks => 及其 TaskStatus
收到以下错误:
{"无效的列名 'TaskStatus_ProductStatusId'。\r\n无效的列名 'ProductStatusId'}
asp.net-mvc - 如何通过 POST 请求携带复杂的对象模型
我有以下实体模型:
我的 MVC 应用程序将提示QRCode
一个 POST 请求。然后我验证此代码是否存在于数据库中AssetLabel
,并且满足其他一些服务器端逻辑。然后我需要请求用户联系方式来创建新 Conversation
记录。目前我有一个 GET 到一个控制器操作,它返回第一个表单来捕获代码。如果这是有效的,那么我创建一个新 的,用对象FinderViewModel
填充并返回一个视图以使用 vm 并显示,和的字段。我的问题是,虽然作为 的一部分被传递给视图,但我可以显示来自;的字段。图形对象不会在 POST 中传回。我知道我可以修改AssetLabel
QRCode
Name
Mobile
Email
AssetLabel
FinderViewModel
AssetLabel
AssetLabel
FinderViewModel
因此它将Conversation
as 一个属性设置QRCode
为一个单独的属性,该属性可能是表单中的隐藏字段,然后重新找到 theAssetLabel
作为第二个表单处理的一部分,但这感觉像是很多工作因为我已经验证过一次以达到创建第二种形式的目的(这就是我离开 PHP MVC 框架的原因)。
第一个问题是如何?,第二个问题是我是否以错误的方式接近这种设计模式。是否有更 .NETty 的方式通过多种形式保存数据?在我学习的这一点上,我真的不想将信息存储在 cookie 中或使用 ajax。
作为参考,第 1 形式 POST、第 2 视图和第 2 形式 POST 的其余代码如下所示(已简化以消除不相关的逻辑)。
FinderView.cshtml
}
AssetLabel 的渲染 HTML 片段
java - 使用反射 api 测量类的位置稳定性
作为大学项目的一部分,我们需要“创建一个 Java 应用程序,该应用程序使用反射来分析任意 Java 应用程序存档 (JAR) 并计算其对象图中每个组件类的位置稳定性回想一下位置稳定性 (Positional Stability ( I) 一种类型可以通过计算进入和离开该类型的依赖项的数量来衡量:"。
我们需要测量每个类及其组件的传出和传入耦合,然后计算稳定性。
我对如何计算传入和传出耦合有点困惑。这是我到目前为止所做的,
c# - 忽略 ShouldBeEquivalentTo 中的内部属性
有没有办法在做 ShouldBeEquivalentTo 时忽略类的内部属性?
例如,在下面的类中,我想从对象图比较中排除 MetaData 属性。
我宁愿不使用
因为我可能有超过 1 个内部属性,并且为所有这些属性设置它会很乏味。
c# - 如何将模型对象图的状态暴露给视图模型?
我正在提高对 MVVM / 依赖注入的最佳实践的理解,而一些看似基本的东西仍然很不清楚。
设想:
- 该模型(根据Composition Root模式组成)由类似于以下内容的 DI 对象图组成:
图的组成部分(A1、B1 等)具有状态。
组成部分的状态(A1.StateA1、B1.StateB1 等)不仅作为图中其他对象的依赖关系,还需要出现在视图上。
问题:
- 如何正确地将这种碎片/嵌套状态暴露给视图模型?
如果我的理解是正确的,模型不应该迎合任何类型的状态可视化——视图模型有责任根据视图的要求格式化数据。
这是否意味着视图模型应该知道模型组合的细节,并直接引用例如 B2.StateB2(甚至 A1.A2.B1.B2.StateB2)?
- 或者,尝试将状态和行为分开,并将所有状态存储在易于视图模型使用的平面对象中是一种好习惯吗?
我正在尝试做的细节:
我正在设计的具体应用程序用作业务应用程序(本地化软件)的简单扩展,以弥补在大型本地化项目中特别有用的一些缺失功能。我的应用模型正在从多个来源获取数据:
- 一种来源是通过订阅
Process.HasExited
和来跟踪目标应用程序的进程和窗口状态AddAutomationFocusChangedEventHandler
。 - 另一个来源是通过 PInvokes 定期读取目标进程的私有内存。
- 另外两个来源是 XML(确切地说是 XLIFF)文件,我需要根据我从目标进程的内存中读取的最后一个值来查找节点。此查找生成与本地化软件中的活动本地化单元相关的字符串列表——这是应用程序视图需要传达的主要信息。
我承认该应用程序有点老套,但最终用户的工作效率存在大约 20% 的差异。:)
主视图模型相当简单,只有几个控件,包括我正在用组装和格式化的 HTML 数据填充的 WebBrowser。这里的关键点是让数据始终保持最新,但我的模型对象为此目的实现了 INotifyPropertyChanged。
java - 实体数据过滤 - payara41-web-4.1.1.164 with Jersey - 如何使用 ObjectProvider
我正在尝试在 MessageBodyReader 中获取 ObjectProvider。但它最终会出现 CDI 错误:“WELD-001334:带有限定符 @Default 的类型 ObjectProvider 的依赖关系不满足”。这个想法是将 ObjectProvider 从 Jersey 映射到 JPA 的 EntityGraph。代码下方:
c# - Graph Engine“扇出搜索”是如何工作的?
我正在查看Graph Engine(不要与 MSFT AD Graph 混淆),但我对分布式“扇出搜索”有疑问。
据我所知
- 对象以分布式方式保存在 N 个服务器上。
- 在运行期间不得更改此 N 个服务器的分配
- 根据一些配置设置,它们可以是“只读”的
- 节点之间没有“身份验证”,只有完全信任有效的命令。
我很困惑
- 数据以何种方式跨节点分片/分区?
- 在写入过程中可能成为瓶颈的“全局锁”的侵入性有多大
- 一次会查询多少个节点?
理想情况下,有这样的可视化: