问题标签 [abstract-factory]

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 投票
3 回答
19278 浏览

java - 外观模式和抽象工厂模式有什么区别?

我不是问面试的角度。我想知道在struts框架等项目中实现的实时场景。

0 投票
1 回答
1709 浏览

asp.net-mvc-3 - MVC 3 和抽象工厂模式

我想直接进入我的观点,那么是否可以使用 MVC3 和 Abstract Factory 一起开发一个网站?

请原谅我的提问,但 MVC3 对我来说是新的,我想学习它,所以我为我的新网站选择了它。但问题是我不知道它是否适用于抽象工厂模式。

先感谢您!

0 投票
1 回答
763 浏览

c# - 使用 DI/抽象工厂模式时的依赖处理

在下面的简化示例中,我有一个我认为以相当合理的方式定义的 DataContext 和 Repository:

我正在努力研究如何使用 DI 和抽象工厂模式来实现我想要的。在 MVC 应用程序中,这很容易设置 - 控制器需要在其构造函数中实现 IUnitOfWork 和 ICarsRepository 的实例。我可以将容器配置为使用不同的控制器工厂为每个 Http 请求提供相同的 DataContext 实例。不知何故,似乎一次性依赖项已正确处理。

但是我想在 Windows 服务中使用相同的存储库。这是多线程的,每个线程在启动时都需要访问自己的存储库,并且每个线程都应该有自己的 DataContext / UnitOfWork。但我不知道该怎么做:

  • 应用程序的复合根是服务启动时,因此无法为每个线程解析依赖关系(线程按需启动)。
  • 我不确定如何使用抽象工厂模式。线程需要 IUnitOfWork 和 ICarsRepository 的实例,但共享相同的 DataContext。我可以创建一个抽象工厂来在一次调用中创建它们,并将其传递给线程,但是我不知道如何处理 DataContext。我不希望线程必须关心对 ICarsRepository 实现的依赖项是一次性的。我绝对不希望线程知道 ICarsRepository 依赖于 DataContext,因为那样拥有接口似乎毫无意义——线程可能只依赖于 SqlCarsRespository。
  • 我不想让 SqlCarsRepository 成为一次性的并让它处理 DataContext,因为可能有其他人在使用 DataContext,而且它一开始并没有创建它。
  • 我认为我可以创建一个隐藏 IUnitOfWork 和 ICarsRepository 的 CarsService(并使用抽象工厂获取它的实例),但我仍然不知道如何处理 DataContext 依赖项

做我正在尝试的最好方法是什么?

0 投票
2 回答
347 浏览

c# - 抽象工厂从配置添加到字典

嗨,我的工厂代码是这样的。我不想将这些值直接存储在字典中,而是将这些值存储在 app.config 文件中。正如我在下面显示的。

我会将这些设置移动到我的配置文件中,如下所示。

我正在做这样的事情,但我没有成功。不知道如何添加到字典

0 投票
2 回答
75 浏览

oop - 抽象被改变了?

我的问题是,如何重新设计抽象工厂。

例如,我得到了车辆的下一个抽象:

现在,我可以实例化私人或拖车。

有人建议我改变:拖车发动机可以是涡轮增压或混合动力。仅适用于拖车!对于私家车柴油和汽油发动机仍然是常用的柴油发动机。所以,如果我做改变:

我可以添加类:

很好,但是(!!!)私家车与它无关!我可以使用什么样的设计?旧的抽象不正确?

非常感谢!!!

0 投票
1 回答
787 浏览

singleton - 抽象工厂和单例模式在一起

是否可以将抽象工厂模式和单例模式结合在一起?如果可以,那么如何?给我一些图表示例。

0 投票
3 回答
4555 浏览

objective-c - Objective-C中的AbstractFactory模式

我只是想学习目标-c。

我已经看过不同语言的AbstractFactory模式的维基百科示例。

这是按钮定义:

这是一个工厂:

据我所知,obj-c 的id关键字应该类似于 C#'svar或 C++11's auto,对吧?

所以我的问题是:

为什么让工厂返回一个未指定类型的通用对象?这是一个错误(让工厂返回其他不是按钮的东西)还是有任何理由这样做?

我会这样写一个工厂:

我错了吗?

0 投票
3 回答
648 浏览

design-patterns - 数据库封装的设计模式 - Brigde Vs Abstract Factory

几天前,我们的团队正在讨论灵活数据库实现的设计模式——Oracle、MYSql 等。

我们讨论了桥接模式和抽象工厂模式。

我赞成抽象工厂,因为它灵活、易于实现,而且客户端不知道底层的数据库实现是什么。但是我的其他队友更喜欢 Bridge 而不是 Abstract Factory。他们提到,当类层次结构全部增长时,它更加灵活且易于维护。

我仍然不满意为什么我们不能使用抽象工厂,我正在寻找您的建议和良好的参考资料,我可以在其中比较两种模式和不同的数据库实现。

0 投票
3 回答
5987 浏览

c++ - 单例抽象工厂模式

我想实现一个抽象工厂模式,但也想成为一个单身人士。

有人可以帮助我制作这个 Abstract Factory Singleton 的示例代码吗?

提前致谢。

0 投票
1 回答
2259 浏览

classloader - 加载类时出现 java.lang.ClassFormatError

我正在实现 AbstractFactory 模式,允许外人创建工厂。我正在从属性文件中读取工厂实现名称,加载工厂类并使用它来构造对象。问题是,当我尝试创建任务对象时,在我的工厂实现中的某个地方出现以下错误:

线程“Thread-1”java.lang.ClassFormatError 中的异常:类文件 com/testsuite/loadperformancetesterusage/tasks/GetUrl 中的代码段长度错误

以下是 GetUrl 构造函数,没什么花哨的!

关于这里可能发生的事情的任何反馈?交叉张贴在这里