问题标签 [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.
java - 外观模式和抽象工厂模式有什么区别?
我不是问面试的角度。我想知道在struts框架等项目中实现的实时场景。
asp.net-mvc-3 - MVC 3 和抽象工厂模式
我想直接进入我的观点,那么是否可以使用 MVC3 和 Abstract Factory 一起开发一个网站?
请原谅我的提问,但 MVC3 对我来说是新的,我想学习它,所以我为我的新网站选择了它。但问题是我不知道它是否适用于抽象工厂模式。
先感谢您!
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 依赖项
做我正在尝试的最好方法是什么?
c# - 抽象工厂从配置添加到字典
嗨,我的工厂代码是这样的。我不想将这些值直接存储在字典中,而是将这些值存储在 app.config 文件中。正如我在下面显示的。
我会将这些设置移动到我的配置文件中,如下所示。
我正在做这样的事情,但我没有成功。不知道如何添加到字典
oop - 抽象被改变了?
我的问题是,如何重新设计抽象工厂。
例如,我得到了车辆的下一个抽象:
现在,我可以实例化私人或拖车。
有人建议我改变:拖车发动机可以是涡轮增压或混合动力。仅适用于拖车!对于私家车柴油和汽油发动机仍然是常用的柴油发动机。所以,如果我做改变:
我可以添加类:
很好,但是(!!!)私家车与它无关!我可以使用什么样的设计?旧的抽象不正确?
非常感谢!!!
singleton - 抽象工厂和单例模式在一起
是否可以将抽象工厂模式和单例模式结合在一起?如果可以,那么如何?给我一些图表示例。
objective-c - Objective-C中的AbstractFactory模式
我只是想学习目标-c。
我已经看过不同语言的AbstractFactory模式的维基百科示例。
这是按钮定义:
这是一个工厂:
据我所知,obj-c 的id
关键字应该类似于 C#'svar
或 C++11's auto
,对吧?
所以我的问题是:
为什么让工厂返回一个未指定类型的通用对象?这是一个错误(让工厂返回其他不是按钮的东西)还是有任何理由这样做?
我会这样写一个工厂:
我错了吗?
design-patterns - 数据库封装的设计模式 - Brigde Vs Abstract Factory
几天前,我们的团队正在讨论灵活数据库实现的设计模式——Oracle、MYSql 等。
我们讨论了桥接模式和抽象工厂模式。
我赞成抽象工厂,因为它灵活、易于实现,而且客户端不知道底层的数据库实现是什么。但是我的其他队友更喜欢 Bridge 而不是 Abstract Factory。他们提到,当类层次结构全部增长时,它更加灵活且易于维护。
我仍然不满意为什么我们不能使用抽象工厂,我正在寻找您的建议和良好的参考资料,我可以在其中比较两种模式和不同的数据库实现。
c++ - 单例抽象工厂模式
我想实现一个抽象工厂模式,但也想成为一个单身人士。
有人可以帮助我制作这个 Abstract Factory Singleton 的示例代码吗?
提前致谢。
classloader - 加载类时出现 java.lang.ClassFormatError
我正在实现 AbstractFactory 模式,允许外人创建工厂。我正在从属性文件中读取工厂实现名称,加载工厂类并使用它来构造对象。问题是,当我尝试创建任务对象时,在我的工厂实现中的某个地方出现以下错误:
线程“Thread-1”java.lang.ClassFormatError 中的异常:类文件 com/testsuite/loadperformancetesterusage/tasks/GetUrl 中的代码段长度错误
以下是 GetUrl 构造函数,没什么花哨的!
关于这里可能发生的事情的任何反馈?交叉张贴在这里