首页 > TAG信息列表 > factory-pattern

大量的内部方法是可以避免的吗? (界面,工厂模式)

我目前正在使用机器人,并且为不同的对话框(均在同一名称空间中)有大约8个单独的类.它们都包含不同的任务,因此我遇到了一个小问题. 我想知道最佳实践是什么:使用接口,使用工厂模式…但是,所有这些选项都迫使我使用内部方法. (而且我通过接口实现了该功能,因为您承诺了某些行为,但是

成本计算器应用程序的设计模式?

我有一个问题,以前曾尝试获得帮助,但是当时我无法解决,所以我现在尝试简化问题,以查看是否可以为此获得更多具体帮助.让我发疯… 基本上,我有这个应用程序的工作版本(更复杂),它是一个项目成本计算器.但是因为同时我想学习更好地设计应用程序,所以我想对如何改进这种设计提供一些建

java-考虑添加静态接口方法以提供用于对象创建的单个入口点

“实现” below是否表示对象的实例?也许它们是指执行代码. Consider adding static interface methods, to allow the client code to create (potentially specialized) objects that implement the interface. For example, if we have an interface Point with two method

java-这是工厂方法的正确用法

据我了解,工厂设计模式用于创建对象而不是构造函数 在上一个问题中,我解释了我的情况: 我有一个表示为超图的复杂网络超图顶点来自各种类型:图像,标签….我应该创建数千个顶点手动创建将非常困难!所以我认为工厂模式可以在这种情况下为我提供帮助 我使用yUML绘制了两个可能的图,但是我

CodeGo.net>如何用依赖注入替换工厂模式

我有以下情况:必须根据每个对象的特定属性(将属性定义为Enum)将对象集合发送给不同的第三方.我打算使用如下所示的Factory模式来实现此目的. 可以将其重构为使用依赖项注入吗? public class ServiceA: IThirdParty { public void Send(Ticket objectToBeSent) { //

c#-工厂模式和我的无能.帮我看看光

让我们保持简单… class Client abstract class AbstractBusinessObject class BusinessObject class BusinessObjectFactory >好的,因此您的客户需要在AbstractBusinessObject上执行一些操作.显然,需要在某个位置创建一个BusinessObject实例.为什么不在客户中?有什么害处

您如何让IDE识别来自使用字符串实例化类的PHP工厂的用法?

我喜欢在大多数情况下如何使用工厂模式来帮助您坚持SOLID开发.我不太了解的一件事是在构建工厂时如何使IDE识别使用情况.例如: <?php class ProductFactory { public static function build($product_type, $name) { $productClass = 'Product' . ucwords($product_type);

java – 将属性传递给Factory方法

我有一个工厂方法,它返回一个接口的实现.问题是 – 实现具有不同的构造函数参数. 我的问题是 – 如何通过工厂方法将参数传递给接口的不同实现? 我有一个想法,但我不确定它是否有意义 – 将Properties对象传递给工厂方法?这样,每个接口实现都可以获得其构造函数所需的属性,而工厂接口

java – 如何在Guice注入中提供参数,同时不破坏Guice-AOP方法拦截?

我有一种情况,我需要使用Guice 3.0来实例化我的对象,但其中一个值可能会随每个实例而改变.我无法绑定该值的类型,直到我需要创建实例时才会知道. 例如: public class Foo { public Foo(Bar bar, Baz baz) {...} } 我希望Guice注入Bar param,但在我需要Foo之前​​我不会知道Ba

c – 以工厂模式传递值

我正在学习工厂设计模式.我无法弄清楚如何将参数传递给使用Factory模式创建的对象. 一个小傻的例子: 假设我有三个类,A类,B类和Class Number.数字是基类.此外,类A需要三个整数并具有添加它们的功能,而类B需要两个整数并添加它们 代码片段: int main() { Factory *facObj = new

如何在Spring中为在运行时动态创建的对象注入依赖项?

public class PlatformEventFactory { public PlatformEvent createEvent(String eventType) { if (eventType.equals("deployment_activity")) { return new UdeployEvent(); } return null; } } 我有一个工厂类,它根据even

php – 解释这个单例工厂模式

class ConnectionFactory { private static $factory; public static function getFactory() { if (!self::$factory) self::$factory = new ConnectionFactory(...); return self::$factory; } private $db; public f

java – 没有if,切换实现Factory的最佳方法

我正在寻找许多方法来实现Java中的Factory模式,但仍然找不到一个完美的方法,如果/ switch plus不使用反射,则不会受到影响. 我找到的最好的一个是Tom Hawtin的回答:https://stackoverflow.com/a/3434505/1390874 但我最担心的是它将匿名类的HashMap存储在内存中. 问题是除了Tom Hawt

c – 工厂方法模式

工厂方法究竟是什么?如何用dll实现?解决方法:工厂的基本思想是函数返回从已知基类派生的堆分配对象.因此,在您的情况下,您可能在主应用程序中有一些代码调用dll中的工厂,获取未知动态类型和实现的对象,但您会知道它满足特定基类的API要求.然后,您通过该接口使用该对象,并通过其可能的

c – 在make_unique中使用此*

我有一个工厂设计模式的小例子,我对这部分感兴趣: std::make_unique< A >(*this) ……特别是*这个. 这是否意味着clone()方法返回一个指向工厂类成员的std :: unique_ptr? createInstance()总是返回Factory类的同一个成员? 我只是困惑了什么std :: make_unique< A>(* this)应该这样

Javascript工厂模式变量范围

我正在按照教程显示工厂模式以在javascript中创建对象.下面的代码让我难以理解它的工作原理. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>6-2.htm</title>

JavaScript,Eval和New – 穷人的工厂

除了罕见的情况,JavaScript中的eval() is considered bad practice. 我刚刚遇到一个代码片段,它接受一个字符串并按该类型名称构造一个对象.执行此操作的错误检查,业务逻辑和上下文已删除,这是它的样子: function factory(klass) { eval("var obj = new " + klass + "()"); // Is

java – 我工厂出了什么问题?

我有一些像这样的代码: public abstract class Foo { public static Foo getFoo() { return new FooImpl(); } abstract void DoFoo(); private class FooImpl extends Foo { public FooImpl() { } @Override void DoFoo() { }

使用Python工厂习语

以下是一个模式:https://python-3-patterns-idioms-test.readthedocs.io/en/latest/Factory.html.我的问题是,这仍然是在Python 3.x中进行通用对象创建的最佳习惯用法/模式吗?我似乎无法在这个主题上找到太多.代码如下: class Shape(object): # Create based on class name:

java – 基于动态构造函数值的Spring bean作用域

我必须根据动态构造函数值创建一个需要缓存的bean.示例:我需要一个OrganizationResource bean,其中“x”(构造函数值)组织将具有其自己的特定实例值,而“y”(构造函数值)将具有不同的值. 但我不想为每个x值创建一个新对象,我希望它被缓存. 我知道有两个范围,单例和原型,用于动态构造

c# – 在抽象工厂模式中使用IoC?

在Factory Pattern中使用IoC容器是不好的做法?例如: public interface IDialogService { void RegisterView<TView, TViewModel>(string viewName) where TViewModel : IDialogViewModel where TView : Window; bool? ShowDialog(string viewName, IDialo

c# – 在不知道类型的情况下返回通用对象?

我仍然是编程方面的新手,并且负责创建一个接收原始JSON字符串的WebHook使用者,将JSON解析为一个对象,该对象将被传递到处理程序中进行处理. JSON就像这样: { "id":"1", "created_at":"2017-09-19T20:41:23.093Z", "type":"person.created", "object":

在java中扩充工厂模式

我正在尝试使用工厂模式来创建一个QuestionTypeFactory,其中实例化的类将像MultipleChoice,TrueFalseQuestion等. 工厂代码看起来像这样 class QuestionFactory { public enum QuestionType { TrueFalse, MultipleChoice, Essay } public static

PHP工厂设计模式方法澄清

我想知道this tutorial是否正确地在PHP中实现工厂设计模式.以下是实际的源代码. <?php class Automobile { private $vehicle_make; private $vehicle_model; public function __construct($make, $model) { $this->vehicle_make = $make; $this