问题标签 [factories]

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 投票
1 回答
1468 浏览

ruby-on-rails-3 - 如何使用 Factory Girl 和 random_data 使用 seed.rb 正确随机化数据?

我尝试使用一个简单的脚本来填充我的数据库,从而为我的模型创建足够数量的记录来考虑所有依赖关系(尤其是多态性),从而生成测试数据。

这是我的seeds.rb

例如,这里是question工厂:

虽然Random该类确实产生了一个随机术语,但该术语对于创建的所有实例都保持不变。在这种情况下,我会收到 50 个问题,比如“西班牙最好的旅行地点是哪里?” 以及每个相同的两段文字。

我错过了什么?

0 投票
4 回答
2100 浏览

c# - C# 静态方法与对象实例

我目前正在开发一个 C# MVC REST web api,并试图在我们的设计的两种可能性之一之间进行选择。

在不深入了解我们的设计的情况下,我们打算创建一个用于数据访问的类,我们将其称为DataSource. 每个DataSource人都需要执行小的、包含的逻辑块来正确构建适当的响应。由于希望将来能够热加载代码,我们不想简单地将这些功能放在 上DataSource,而是希望它们由其他程序集提供。我们已经实现了这个概念的证明,到目前为止,一切都很好。

我试图在两者之间做出决定是编写一个带有单个静态ExecuteQuery函数的静态类,还是编写一个工厂方法来创建这些类的实例,这些实例有一个名为ExecuteQuery.

每个请求创建多个短期对象与调用静态方法之间的性能考虑是什么?

直观地说,静态方法会更快,但我已经预料到通过反射调用它们会有点头疼(以支持热加载的代码要求)。

如果对短寿命的物体没有巨大的惩罚,那么它们可能仅靠简单性就胜出。

有关我们预期负载的相关信息:

  • 响应时间在 300ms - 800ms 范围内
  • 大约 2000 个 Web 客户端的平均负载
  • 约 4000 个客户端的峰值负载
  • 客户端每 2 - 5 秒查询一次
  • 每秒 1 次查询的客户端峰值速率

此外,每个DataSource实例最多创建 8 个,平均为 3 个。

0 投票
2 回答
238 浏览

unit-testing - 单元测试可维护性和工厂

编辑:我决定完全放弃这个想法,因为虽然使用相同的方法来创建我的实例很好,但我放弃了其他事情并使问题复杂化。

在我的单元测试项目中,我有一个文件夹,其中基本上包含我的单元测试的所有工厂类,如下面的那个。

这是我的单元测试的示例。

这有助于我保持单元测试的清洁并专注于测试,我只是想知道其他人如何处理这个问题以及他们在做什么来保持测试的清洁。

更新:

作为对 Adronius 的回应,我更新了我的帖子,其中包含了我旨在减少这些工厂的原型。

一个主要问题是在我的测试中使用完全相同的语法来创建实例并减少工厂类的数量。

然后我可以扩展它以采用这样的参数。

实现将是这样的。

最后我可以这样使用它。

我不知道它是否有效,这只是我为帖子提出的一个概念,以证明我的观点,我想知道人们对此有何看法?如果您有任何建议或任何事情,我会很高兴听到的。

我不喜欢重新发明轮子,所以如果你有更好的方法,我也想听听。:)

0 投票
0 回答
184 浏览

ruby-on-rails - 如何在迷你裙工厂创建协会?

我正在用 minitest 编写测试,并尝试使用 miniskirt 来处理我的 rails 应用程序中的工厂。我无法在我的用户模型和其他模型之间创建关联。既然迷你裙没有Factory#association像工厂女郎你怎么创建联想?我正在尝试这个:

但是以下测试一直失败为Validation failed: User can't be blank

0 投票
4 回答
229 浏览

c# - 如何使用接口在 C# 中剥离泛型?

我目前有一个继承结构,其中方法的返回类型保留为开放泛型,以便每个类都可以从另一个结构的相应级别返回一个对象。例如,假设我们有一个 VehicleFactory,其中 TVehicle:Vehicle 可以 ProduceVehicle TVehicle。我也有 CarFactory:VehicleFactory 其中 TVehicle:Car。

Car 继承自 Vehicle,因此所有这些都是有效的,并且让我知道我的 CarFactory 必须生产 Cars,而我的 Vehicle 工厂可以生产任何类型的车辆。我遇到的问题是,我需要一种方法在 Ford 运行时将 VehicleFactory 实例化为 CarFactory,而在 Wave Runner 运行时将其实例化为 BoatFactory。

我想我可以通过创建一个与 VehicleFactory 的功能相匹配的接口并编写一个返回 IVehicleFactory 的 MakeFactory 方法来做到这一点(它将非通用返回车辆)。由于 CarFactory 返回作为车辆的汽车,它实现了接口,并且在世界上一切都应该是正确的。出乎意料的问题是,尽管 TVehicle 必须是 Vehicle,但 VehicleFactory 无法满足作为 TVehicle 是 Vehicle 而关闭的接口。

有谁知道这是为什么,或者是否有其他方法可以解决这个限制?如果无法直接绕过此限制,是否有任何替代方法可以让一组共享功能确保它始终被实例化为两组或更多组更具体的类之一。(其中 Vehicle 是共享层,Car 和 Boat 是上下文特定层。)

以及使用它的代码

添加更多细节以澄清问题。

术语工厂的使用并不意味着工厂模式。它实际上是一个检索“车辆”的存储库。车辆类型是具有公共共享基本代码的库的应用程序特定版本。每个应用程序 Car 和 Boat 的存储库对于相同的检索可能具有不同的逻辑,并且可能依赖于其对象的 Car 或 Boat 变体中的字段。我需要一种方法来构建一个工厂,它可以查看我所在的应用程序的上下文并返回适当的存储库(BoatFactory 或 CarFactory),以便车辆级别的共享代码将正确使用任何应用程序特定的覆盖功能。

0 投票
1 回答
328 浏览

session - Symfony2 中的并发前端和后端会话

是否可以在 Symfony2 中为前端接口和后端接口创建两个不同的会话。

目前,如果我从后端注销,它会一起破坏我的前端和后端会话。

0 投票
1 回答
115 浏览

ruby-on-rails - Rails:在工厂中获取先前定义的特征

我有以下工厂:

该行:

正在抛出错误:

我的目的是查明先前定义的特征“成员资格”是否设置为“接受”。但是,我不确定如何访问该特征。有小费吗?

另一方面,工厂创建类似于表单创建,只要有一个变量(在本例中为“f”)分配了各种特征。有没有一个词来描述这些类型的代码块?

更新:我已将工厂更改为使用 after_build 调用,但现在出现此错误:

更新后的代码如下所示:

0 投票
3 回答
1239 浏览

php - 域对象工厂是什么样的?

我有一个DataMapperFactory,我认为我做对了,有一个很有意义,但我也有一个DomainObjectFactory,但这似乎毫无意义。就是这个:

我能看到的唯一优点是我可以防止new操作员出现在我的代码中。

必须有DomainObjectFactory比这更多的权利吗?

任何帮助都会非常感谢。

0 投票
1 回答
2436 浏览

domain-driven-design - DDD - 如何实现工厂

我想知道如何在领域驱动设计中实现工厂。(例子)

工厂的接口和实现应该放在哪里?我是否需要为工厂创建的域对象创建接口?我是否需要为存储库、服务等创建工厂?

我正在使用依赖注入容器如何将它们与工厂放在一起?

谢谢。

0 投票
1 回答
2458 浏览

php - 如何使用谷歌地图 api 库(codeigniter)在地图上显示自己的工厂?

我如何指定自己的地方?我正在一个网站上工作,人们可以使用自己的邮政编码搜索特定半径内的工厂。

现在我想添加这些工厂,以便人们可以设置他们的邮政编码和半径。该半径内的工厂将显示在地图上。

我还没有尝试任何东西,因为我仍在学习和发现用于 codeigniter 的 google maps api 库。我确实在我的图书馆里读过一些关于地理编码的东西。但是如何使用呢?我没有为地理编码创建数据库。

我正在使用的图书馆:http: //biostall.com/codeigniter-google-maps-v3-api-library