术语:在 OOP 中,当您有一个对象或记录使用来自查找表或网关的“连接”数据时,它叫啥?

Posted

技术标签:

【中文标题】术语:在 OOP 中,当您有一个对象或记录使用来自查找表或网关的“连接”数据时,它叫啥?【英文标题】:Terminology: In OOP, what is it called when you have an object or record that uses "joined" data from a lookup table or gateway?术语:在 OOP 中,当您有一个对象或记录使用来自查找表或网关的“连接”数据时,它叫什么? 【发布时间】:2018-08-10 21:41:19 【问题描述】:

假设您有一个对象User,它来自名为user 的表,并且该对象有一个名为primaryAddress 的属性。 primaryAddress 是引用表或Address 表中地址列表的外键。

在构建User对象时,可以根据外键/主键关系关联地址的属性。比如我可以关联streetAddresscitystatepostalCode等属性。只是因为我可以将User的数据连接到Address

在关系数据库中,您通常通过INNER JOINOUTER JOIN 之类的连接获得这些数据。但是,我不确定当一个对象从另一个对象“获取”数据时,这种类型的关系在面向对象编程 (OOP) 中称为什么。

【问题讨论】:

【参考方案1】:

在 OOP/OOD 中,您最接近的可能是 aggregation or composition - 您不会通过 ID 引用地址,而是有一个非拥有引用(以防多个人使用特定地址,例如家庭),或拥有参考(如果一个人与其在数据库中的特定地址之间始终存在 1-1 关系)。

【讨论】:

谢谢!知道正确的术语将有助于我进一步研究这个主题。如果我正确理解您的回答,无论关系是聚合还是组合,在组装 User 对象时,您可以在其中包含 Address 对象的实例,对吧? @DaveL - 在 OOA/OOD 中,这些被称为关联,其含义与关系模型完全不同。 OO 关联确定类在共享知识或委派行为方面如何协作,而关系连接则定义了两组数据之间的关系。如果你在做正确的 OO,你应该不惜一切代价避免组合和聚合,因为它们会让你思考“这个类是由这个、这个和那个组成的”或“这个类拥有这个和那个”。在 OO 中,您的目标是让类协作——而不是拥有彼此。

以上是关于术语:在 OOP 中,当您有一个对象或记录使用来自查找表或网关的“连接”数据时,它叫啥?的主要内容,如果未能解决你的问题,请参考以下文章

当您有选择时,HTTP、HTTPS 是安装 wordpress 的正确位置

第八篇:面向对象编程

基本术语

基本术语

当您有可变数量的透视行时,如何使用 Informatica 透视数据?

当您有重复的子字符串时如何正确替换字符串?