问题标签 [object-model]
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.
c# - API 设计问题
在设计我的 api 时,我正在考虑如何对以下行为进行建模。
选项 1 似乎更合乎逻辑,但随之而来的是强制执行不变量,例如检查电子表格是否确实属于工作簿。
选项 2 看起来很奇怪,电子表格知道如何删除自己,但实际上电子表格有对其父工作簿的引用,并且可以将调用直接委托给他。
或者这真的不是一个有效的案例,因为无论如何工作簿都需要验证它的电子表格?想法?
谢谢大家
javascript - 如何确定一个javascript对象是简单还是复杂?
基本上我需要区分以下两个:
collections - 在领域驱动设计中检索对象集合的方法
我正在使用 Zend Framework,并尝试转向 DDD 方法(领域驱动设计)。我有域对象的模型、映射器和 DbTables。
在很多情况下我需要同时获取多个实体,例如-系统内所有用户的列表-,所以我的用户模型将有一个方法“getAllUsers”,它将返回所有用户(现在它返回一个所有用户的数组,但我正在考虑制作一个集合类)。到目前为止,我正在使用普通方法(非静态)来获取集合,为此,我需要创建一个“空”对象。另一种选择是将其转换为静态方法。
我不确定,哪种方法更好,将这些方法保留为非静态方法或将它们转换为静态方法。什么是更好的方法/实践,为什么?哪种方法紧跟 DDD 方法。
PS:如果您能想到更好的标题,请告诉我。不,这不是一个课程问题。
jsp - 在 Web 应用程序中可视化 jsp:s 结构的工具
我正在寻找一种工具来自动可视化(显示某种对象图)使用 jsp:s 和 jspf:s 构建的 java web 应用程序的结构,如果有的话?我一直在搜索它,但只能找到纯 java 类的分析工具,而不是 jsps。我想要这样做的原因是使结构对客户可见,这样他就可以看到某些文件发生更改时可能受到的影响。
如果我必须手动完成,也欢迎提出好的建模工具建议。
干杯比约恩
java - 设计具有外键关系的 DTO
我正在为 Web 应用程序使用 Java + Spring 框架。我没有使用任何 ORM 工具。相反,我试图使用简单的 DAO/DTO 模式将数据库关系建模为 Java 对象。只要 DTO 与数据库中的单个表完全对应,它就非常简单。但是如果有表使用外键引用其他表,我不确定什么是最好的方法。在 Stackoverflow 中寻找类似的答案,但找不到我需要的答案。我想举一个非常具体的例子——假设有两个实体用户和组。我有一个用户 DTO 和一个组 DTO,每个 DTO 分别有 UserDao(JdbcUserDao) 和 GroupDao(JdbcGroupDao)。
现在我在数据库中有一个连接用户和组的关系。一个用户可以属于多个组。表名为 User_Group_Association,具有以下 DB 定义:
用户 ID | group_id
这里 user_id 是引用用户表的外键。类似地 group_id 指的是组表。当我用 Java 建模这个 DTO 时,我应该这样做:
或者应该是这样的:
特定的 UI 用例:我想显示用户名和他们所属的相应组名。像这样的东西-
名称 -> 组名
Keshav -> 管理员、最终用户、ReportAdmin
Kiran -> ReportAdmin
Pranav -> 最终用户
在第一种 DTO 设计方法中,我需要再次从数据库中获取用户详细信息(名称)和组详细信息(名称)。在第二种方法中,当我构建 UserGroupAssoc 对象本身时,我需要获取 User 和 Group 对象。
在可能的第三种方法中,我可以按如下方式设计 UserGroupAssoc DTO:
在这第三种方法中,我在 SQL 中连接表以仅获取用例所需的字段,然后对 DTO 进行相应的建模。
实现这种情况的标准方法是什么?在 DTO 设计中加入表格好吗?有人认为,一个 DTO 应该只对应一个表,关联的对象应该聚合在应用层。那有从数据库中获取多个对象的开销吗?对正确的方法太困惑了,抱歉这么长的解释!
design-patterns - 参数化转换规则的对象模型
我之前问过一个类似的问题,但将其作为特定于语言的问题提出。我意识到我的问题在于建模级别。
我应该如何在对象模型中表示以下内容:
我有:
- 数据对象
- 参数对象
- 规则对象
规则指定如何修改它接收到的数据对象;它需要完全定义额外的参数。一个规则可以使用其他规则(或者在内部引用它们,或者在参数对象中被告知这样做)。
该规则不是用某人需要解析的某种自定义语言编写的;相反,它只包含应该执行的代码。这听起来像是设计之前的实现解决方案,但它实际上是需求之一(系统用户是希望能够编写自己的规则并将它们轻松添加到系统中的程序员)。
主要活动发生在数据对象、参数对象和规则对象相遇时;那时,数据对象被修改。
用户告诉系统他想要满足哪个规则、哪个参数和哪个数据对象,并期望取回修改后的数据对象。
更新:
数据对象示例:
所有数据对象都可以在逻辑上表示为 SQL 表。
数据对象 ID #7:一个 SQL 表
数据对象 ID #13:一个 SQL 表
参数对象示例:
所有参数对象都具有相同的布局:一个文本文件,其中每一行看起来像
<PARAMETER_NAME>
=<VALUE>
参数对象 ID #52:
规则 = '回归'
数据 ID = 7
Y = '成本'
X = '最大速度'
R = '成本估算错误'
参数对象#59:
规则 = '平均'
数据 ID = 13
COLUMNS = '最小速度','最大速度'
平均 = '平均速度'
规则对象示例:
规则对象“回归”:
执行线性回归;名为“Y”和“X”的参数指定用作因变量和自变量的列名;名为“R”的参数指定要添加到包含回归残差的表中的列名。
规则对象“平均”:
计算参数“COLUMNS”中列出的列中指定数字的平均值,并将结果存储在参数“AVERAGE”中指定的列中。
symfony - 如何在任何类中轻松获取服务容器?
我想在任何地方轻松访问我的 Controller 容器。有这样做的“官方”方式吗?
我打算在返回容器的捆绑类(或控制器类)中创建一个静态访问函数。容器将在控制器的构造函数中初始化。
ruby - 可以将类方法添加到 Ruby 对象的某些实例而不是其他实例吗?
这是一个包含一些方法的模块:
这是一个类:
我有两个实例C
:
有什么我可以做的c1
,c1.class
有x
和y
,但c2.class
没有?我没有看到颠覆方法查找的直接方法。
core-data - 多对多关系的核心数据删除规则
我有一个带有容器和项目实体的核心数据模型。一个容器中可以有零个或多个项目。一个项目必须至少属于一个容器(但它可以在多个容器中。)
关系如下所示:
删除容器时会出现问题。该容器中的 Item 对象已更新,但如果该项目仅存在于一个容器中,则 itemContainers 属性是一个没有对象的集合。保存对象图失败,因为该空集违反了 Item 的 itemContainers 的非可选设置。
当然,使用像“itemContainers.@count == 0”这样的NSPredicate很容易找到带有空itemContainers的Item对象,但似乎应该有一种方法来配置模型以自动执行此操作。
那么有没有更简单/更好的方法?
xcode - 如何克服 XCode 对象模型版本错误?
我目前正在运行 OS X 10.7.4 并使用 XCode 4.3.2。我从 2.x 版开始并没有真正在生产中使用 XCode。也就是说,我有一个我熟悉的测试核心数据应用程序(MacOS 不是 iPhone)。有 0 个代码——目前所有的 Interface Builder。几天前我更改了数据模型,此后一直出现以下错误:
我遇到了几个相关的线程,包括但不限于:
当模型发生变化时,擦除使用 CoreData 存储的所有数据
但是,没有人解决我的问题。同样,我没有使用任何代码。此外,尽管我遇到了其他页面和论坛帖子:
... ~/Library/Application Support/AppName 中没有 xml 文件可供我删除。实际上,库中的任何地方都没有包含我的“AppName”的文件夹。我敢肯定答案是相当微不足道的,但我一直在用头撞墙试图弄清楚。
我目前正在阅读有关版本控制等的 Apple 文档(http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/CoreDataVersioning/Articles/Introduction.html),但我希望有人会在我眼前一亮之前发布答案。
提前致谢!