问题标签 [table-data-gateway]

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 投票
5 回答
31275 浏览

c# - 数据映射器、表数据网关(网关)、数据访问对象(DAO)和存储库模式有什么区别?

我正在努力提高我的设计模式技能,我很好奇这些模式之间有什么区别?它们看起来都是一样的——封装特定实体的数据库逻辑,因此调用代码不知道底层持久层。根据我的简短研究,它们通常都实现了您的标准 CRUD 方法并抽象出特定于数据库的细节。

除了命名约定(例如 CustomerMapper vs. CustomerDAO vs. CustomerGateway vs. CustomerRepository)之外,有什么区别(如果有的话)?如果有区别,你什么时候会选择一个而不是另一个?

在过去,我会编写类似于以下的代码(自然是简化了 - 我通常不会使用公共属性):

并有一个CustomerGateway为所有方法实现特定数据库逻辑的类。有时我不会使用接口并将 CustomerGateway 上的所有方法都设为静态(我知道,我知道,这使得它的可测试性降低)所以我可以这样称呼它:

这似乎与 Data Mapper 和 Repository 模式的原则相同;DAO 模式(我认为这与网关相同?)似乎也鼓励特定于数据库的网关。

我错过了什么吗?有 3-4 种不同的方式来做同样的事情似乎有点奇怪。

0 投票
2 回答
1203 浏览

php - 使用 zend 2 的 tableGateway 进行插入

我使用 zf2 的 tableGateway,但我不确定它会导致什么设计。

这是如何使用 zf2 的 tableGateway 进行插入的规范示例(来自文档):

但是定义 $data 数组似乎是多余的,因为我已经有一个 Album 类,如下所示:

在我自己的项目中,我有一个包含大约 25 个属性的模型(一个有 25 列的表)。必须定义具有 25 个属性的类,而不是在实现 tableGateway 的类的方法内部编写一个 $data 数组,并为每个这些属性添加一个元素,这似乎是多余的。我错过了什么吗?

0 投票
1 回答
545 浏览

php - Zend\Stdlib\Hydrator\ClassMethods extract() 返回一个空数组

我之前问过一个关于如何使用 tablegateway 有效地进行插入\更新的问题,并在文档Zend\Stdlib\Hydrator\ClassMethods中的这段代码中得到了通知:

可以用以下代码替换:

但是我发现使用$hydrator->extract($album);它时返回一个空数组,这可能是什么原因?我对传递给函数var_dump()的对象做了一个,它似乎是有效的。$album我还需要做些什么才能使其正常工作吗?

0 投票
0 回答
108 浏览

php - 使用php创建数据库抽象层

我正在尝试创建简单的数据库抽象层。我读了很多关于 Active Record 和 Table Data Gateway 的文章,现在我很困惑。

我认为我了解一些关于它们的理论(小),但不知道如何实现它们。我选择实现数据表网关。我会试着解释我做了什么,如果你给我一些建议,我会很高兴。我不确定为什么(例如在 ZF2 中)每次我必须在模型中使用像 DI 这样的表数据网关。

在我的情况下,我的 AbstractModel 只是通过 IoC 容器在 constrictor 中获取 DbAdapter,但我不确定这是否可以。好的,我将描述我的情况。我有以下课程:

  • DbAdapter -> 它创建数据库连接(使用 PDO)
  • IoC(控制容器反转)
  • AbstractModel -> 在构造函数中我使用 IoC 获得 DbAdapter。这意味着它只拥有一个 DbAdapter 实例。在这个类中,我也有 CRUD 方法。
  • 另一个类代表 db 中的表。例如类 User 扩展 AbstractModel 并具有返回表名称的方法 getTable。另一个 sql 查询将在代表表的此类中。这些类可以访问 DbAdapter。

这个方案可以吗?我该如何改进它?

0 投票
0 回答
240 浏览

python - “通用”数据网关模式 - Python

我使用各种数据源(Salesforce、Google、CSV、其他 REST API 等)和类型(表格、键值),并且有许多不同的 Python 包装器来公开这些提要。

这些很难维护,目前,不遵循一致的界面/约定——我认为这是一个糟糕的地方。我需要从中检索数据的来源列表一直在增长,因此我想找到/提出更好的解决方案。

我的直觉是尝试设计某种“通用”数据网关,内置于 Python,它可以为我需要的数据提供一致的接口,而不管底层来源和检索方法如何(例如 HTTP 请求与数据库调用) . 问题是,我正在努力寻找任何正在使用的此类设置的具体示例,这对我来说似乎很奇怪,因为这似乎是许多组织的常见问题,其中数据来自具有许多不同模式的许多来源和结构。

我将不胜感激有关如何开始考虑这一点的任何建议,和/或对可能有帮助的现有解决方案的方向。

0 投票
1 回答
114 浏览

icons - 添加图标作为 vuetify 表数据

这是我的 vuetify 表

这是代码的模板----template------------

这是table的实现-----脚本------

我想添加图标来控制表数据。我怎么做?