问题标签 [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.
ruby - 如何在 Ruby 中将嵌套 YAML 转换为嵌套数组和 OpenStruct
我应该如何将一系列嵌套的哈希(嵌套到任意深度)转换为一系列嵌套的 OpenStructs?我正在加载一个大的 YAML 文件,但我不喜欢accessing['everything']['like']['this']
.
我使用 Google 找到了一些部分解决方案,但我认为这会是一个很好的问题。
这是我从http://andreapavoni.com/blog/2013/4/create-recursive-openstruct-from-a-ruby-hash找到的解决方案之一:
这个解决方案的问题是它没有考虑数组。
entity-framework - 急切加载巨大对象图的灵活性,SQL 中的 NHibernate HQL TOP N
我需要传递 POCO 域对象(急切加载)。在分析了实体框架和 NHibernate 之后,我找不到解决方案!
通过 NHibernate 分析底层 SQL 和查询,我发现
不在TOP N
SQL 中实现,但总是将所有数据下载到 .NET,然后才获取子集(太愚蠢了)
那么如何将复杂的查询发送到大表呢?
ICreteria
(SetMaxResults
在 SQL 中实现)和IQueryOver
(Take()
在 SQL 中的 impl)是不灵活的,例如,只有使用左连接才能进行急切加载。还有自定义子查询、顶部、过滤或排序依据等。显然 SQL 的灵活性要高得多。
实体框架是流畅的,似乎可以让魔法发生,但是 SOO-O DAMN SLOW!
经过一周的工作,我能想到的最好的灵活急切加载是TOP N
由预加载的 HQLIList
和SetParameterList
.
有没有更好的解决方案?
java - 实现可导航图的优雅方式?
这是一个设计问题。我正在努力为我面临的问题创建一个概念模型。
我有许多对象(<1000)的图表。这些对象以多种方式连接在一起。这些对象中的每一个都有一些属性。
我需要能够通过它们的连接和属性访问这些对象。
例如,让我们假设以下对象 -
现在我应该能够通过以下方式查询此图 - 使用属性 -
使用连接 -
使用它们的组合 -
我的主要语言是Java。但我不认为 Java 能够处理这些类型的野兽。因此,我试图用像 Python 这样的动态语言来实现它。我还考虑过使用像 OGNL 或图形数据库这样的表达式语言评估。但我很困惑。我对编码解决方案不感兴趣。但是,对此类问题进行建模的正确方法是什么?
java - 在对象图的序列化输出中包含对象元数据
要求:我需要在应用程序执行期间的不同时间点转储 Java 应用程序的对象图。但最重要的是,转储需要包含图中所有对象的元数据,例如从System.identityHashCode(object)
.
我尝试了什么:我发现序列化是获取对象图的 goto 解决方案。
我尝试了几种不同的解决方案,包括 Java、JAXB 和 XStream 中的内置序列化工具。但是我不知道如何让这些库中的任何一个吐出对象的元数据,例如被序列化的对象的原始引用 ID。
问题:我想知道是否有一种简单的方法可以在序列化的对象图中包含有关每个对象的附加信息/元数据?
虽然我有兴趣专门存储由 获得的对象的参考 ID,System.identityHashCode()
但通常可以接受任何有关存储任何数据的指针。
如果无法添加此类元数据,则该信息也将很有用。
注意:尽管知道从该System.identityHashCode()
方法获得的参考 id 不需要在不同对象之间是唯一的,但我还是问了这个问题。
PS我是Java序列化的新手。
javascript - 对象图的 JavaScript 深拷贝
我需要一个在 JavaScript 中对对象进行深层复制的函数。每个对象都是更大图的一部分(因此需要深度复制功能)。例如,
该图没有循环。
我的想法是对图形进行深度优先搜索,并使用一个字典来存储每个节点的哈希及其副本。在访问每个节点时,从字典中查找副本父节点,并将节点添加到其父子节点集合中。我的问题是,要使这种方法起作用,我需要能够拥有每个节点的内存位置。
这是我的总体想法:
字典是这里的大问题。它实际上需要在内存位置上进行散列,因为即使是散列码函数也不可能对每个对象都是唯一的。
有一个更好的方法吗?
android - Dagger:如何根据构建实例化不同的 ObjectGraph
我正在尝试使用 Dagger 学习依赖注入。
我知道在您的类中,您不会直接实例化客户端代码所依赖的对象,而是使用@Inject 声明它,通过模块创建 ObjectGraphs,并从 ObjectGraph 中获取对象:
但是,所有这些代码现在都取决于您用于创建 ObjectGraph 的模块(在此示例中为 DripCoffeeModule)。
现在我想在我的 Android 应用程序中使用它。对于调试版本,我想要我的类的特定实现,对于发布版本,实现会有所不同。
我该怎么做?如何设置 build.xml ant 脚本以使模块提供我想要的特定实现?(或选择正确的模块)...
谢谢你。
rest - 使用 RESTFUL PUT,应该如何更新(或通知)父/子实体?
举个简单的例子,我将使用轮胎和汽车。我打算执行 PUT 以提高轮胎的价格。UI 还包含使用正在更新的轮胎的汽车,因此需要自行更新价格。
原始 PUT 请求在其响应中包含汽车定价是否合适?如果没有,这通常是如何解决的?
c# - C# .Net 遍历对象图
我发现 Eric Lippert 编写的这种方法可以遍历对象图:
有没有人有一个如何使用这个的例子?
c# - 带有嵌套对象的 JSON.NET CustomCreationConverter
这是我在这个网站上提出的第一个问题,如果我错过了什么,请原谅我。
我在使用 JSON.NET 反序列化复杂对象图时遇到了一些问题。我的类层次结构(简化)如下:
这些类没有默认 ctor,但有一个专用的自定义反序列化 ctor(在其他带有参数的公共 ctor 旁边),如示例中所示。为了创建一个实例,我编写了一个自定义创建转换器,如下所示:
CreateUsingDesrializationConstructor() 扩展方法查找特殊的反序列化 ctor 并使用该 ctor 创建一个实例。
我将转换器添加到我的 JSON.NET 序列化程序实例中:
当我反序列化一个 TestBusinessObject 时,我可以从调试器中看到转换器询问每种类型是否能够创建实例:TestBusinessObject、NestedObject 和许多其他类型。但是我的转换器只被要求创建一个新的 TestBusinessObject 实例,他没有被要求创建我所期望的和我急需的嵌套的 NestedObject 实例,因为反序列化 ctor 中有一些有线逻辑。
我在这里做错了什么,如何告诉 JsonSerializer 为每个对象使用转换器,甚至不用于根(顶级)对象?
编辑: 当 BusinessObjectBase 实例包含在我不知道的类型的对象中时,想法变得更加复杂。在这种情况下,我还希望调用转换器。
在此先感谢,卡斯滕
dagger - Dagger 和 Object Graph 范围与 Flow/Mortar
所以这个周末我花了很多时间在Mortar 和 Flow上,我想我终于把大部分时间都解决了。我发现它比我最初想象的要复杂一些,主要是因为我还没有完全了解 Dagger 的 ObjectGraph 范围,Mortar 非常依赖它。我已经在 Dagger 的网站上阅读了尽可能多的内容,但我发现当它与 Dagger 相关时,我发现缺乏关于这个主题的信息。
所以我有几个问题: 1. 我看到了他们对@Singleton 的范围界定的例子:
在这种情况下,Presenter 是否专门针对此模块,因为它是一个内部类?2. 如何确保它的一个实例只在这个对象图中创建,而不是在全局应用程序对象图中?2. 如果 Presenter 太大了,我想把它移到它自己的单独类中怎么办?我如何将其范围仅限于该模块?3. 我注意到他们示例中的一些 Module 类是静态的,而另一些则不是。这对范围界定有影响吗?4. 我在哪里可以阅读更多内容以更好地理解 Dagger 的对象图。我需要更好地理解包含、注入、addTo 以及它们如何在 ObjectGraph 创建等中使用: