factory-pattern相关内容

不正确地使用__new__来生成类实例?

我正在创建一些类来处理不同类型的文件共享(nf、afp、s3、本地磁盘)等中的文件名。我得到一个标识数据源(即"nfs://192.168.1.3"或"s3://mybucket/data")等的字符串作为用户输入。 我从一个具有公共代码的基类中子类化特定的文件系统。我感到困惑的地方是对象的创建。我拥有的是以下内容: import os class FileSystem(object ..
发布时间:2022-05-23 15:37:54 Python

Laravel 4:对如何使用 App::make() 感到困惑

我正在尝试遵循本文中概述的存储库模式 http://code.tutsplus.com/tutorials/the-repository-design-pattern--net-35804#highlighter_174798 我正在尝试使用 App::make() 在 Laravel 中实例化一个类(我猜是 Laravel 的工厂模式吗?)我正在尝试解析我的课程的参数,但我不知道该怎么做. ..
发布时间:2022-01-08 08:58:04 PHP

在 jar 文件中隐藏类

在jar文件中隐藏一些类真的不可能吗? 我不想允许类的直接实例化以使其更灵活.这个罐子应该只有工厂(或外观)可见. 除了创建两个项目之外,还有其他方法可以解决这个问题吗?(两个项目:第一个包含类(实现),另一个引用第一个并包含工厂;稍后将仅引用第二个) 解决方案 我认为,如果您的公共工厂方法尝试返回“隐藏"的内容,您将遇到编译器失败或警告. 不,如果不重新实现自己的 Cl ..
发布时间:2022-01-01 16:56:20 Java开发

带有 DI 和 IoC 的工厂方法

我熟悉这些模式,但仍然不知道如何处理以下情况: 公共类 CarFactory{公共汽车工厂(Dep1,Dep2,Dep3,Dep4,Dep5,Dep6){}公共 ICar CreateCar(类型){开关(类型){案例一:返回新的 Car1(Dep1,Dep2,Dep3);休息;案例B:返回新的 Car2(Dep4,Dep5,Dep6);休息;}}} 总的来说,问题在于需要注入的引用数量.车多 ..

工厂模式和策略模式有什么区别?

谁能解释工厂模式和策略模式之间的区别? 对我来说,除了额外的工厂类(在工厂模式中创建产品对象)之外,两者看起来都一样 解决方案 工厂模式是一种创建模式.策略模式是一种操作模式.换句话说,工厂模式用于创建特定类型的对象.策略模式用于以特定方式执行一个操作(或一组操作).在经典示例中,工厂可能会创建不同类型的动物:狗、猫、老虎,而策略模式将执行特定操作,例如移动;使用跑步、步行或 Lop ..

使用带有依赖注入的策略和工厂模式

我正在做一个辅助项目,以更好地理解控制反转和依赖注入以及不同的设计模式. 我想知道是否有在工厂和策略模式中使用 DI 的最佳实践? 当策略(从工厂构建)需要为每个可能的构造函数和实现提供不同参数时,我的挑战就出现了.结果,我发现自己在服务入口点中声明了所有可能的接口,并将它们传递给应用程序.因此,必须为新的和各种策略类实现更改入口点. 为了说明目的,我整理了一个配对的示例.我的这 ..

工厂、抽象工厂和工厂方法

我对这三个术语真的很困惑. 我的理解是: 在工厂模式中,没有具体的工厂.工厂根据参数构建新对象. 在抽象工厂模式中,有多个具体工厂.客户端必须明确地创建不同的具体工厂. 是吗? 其他区别是什么? 此外,什么是工厂方法模式?和工厂模式一样吗? 解决方案 四人组“设计模式"可重用面向对象软件的要素"本书包含两个条目,“抽象工厂".(又名“虚拟构造函数")和“ ..

建造者设计模式和工厂设计模式有什么区别?

Builder 设计模式和 Factory 设计模式有什么区别? 哪个更有利,为什么? 如果我想测试和比较/对比这些模式,如何将我的发现表示为图表? 解决方案 对于设计模式,通常没有“更有利"的解决方案适用于所有情况.这取决于您需要实施什么. 来自维基百科: Builder 专注于构建一个复杂的对象一步一步.抽象的工厂强调产品家族对象(简单的或复杂的).Builde ..

实现工厂设计模式时如何避免“instanceof"?

我正在尝试实现我的第一个工厂设计模式,但我不确定在将工厂制造的对象添加到列表时如何避免使用 instanceof.这就是我想要做的: for (Blueprint bp : blueprints) {车辆 v = VehicleFactory.buildVehicle(bp);allVehicles.add(v);//我可以在不使用 'instanceof' 的情况下完成此操作吗?如果(v 汽车 ..
发布时间:2021-12-22 08:39:49 Java开发

工厂模式.什么时候使用工厂方法?

什么时候在对象中使用工厂方法而不是工厂类是个好主意? 解决方案 我喜欢从我的班级是“人"的角度来思考设计模式,而模式是人们相互交谈的方式. 所以,对我来说,工厂模式就像一个招聘机构.你有一个需要可变数量工人的人.这个人可能知道他们需要从他们雇佣的人那里获得的一些信息,但仅此而已. 因此,当他们需要新员工时,他们会致电招聘机构并告诉他们需要什么.现在,要真正雇用某人,您需要了解很 ..

依赖注入 vs 工厂模式

引用的大多数依赖注入的使用示例,我们也可以使用工厂模式来解决.看起来在使用/设计方面,依赖注入和工厂之间的区别是模糊或细小的. 曾经有人告诉我,它的使用方式会有所不同! 我曾经使用 StructureMap 一个 DI 容器来解决一个问题,后来我将它重新设计为使用一个简单的工厂并删除对 StructureMap 的引用. 谁能告诉我它们之间有什么区别,在哪里使用什么,这里的最佳做 ..

抽象工厂和工厂设计模式有什么区别?

我知道有很多关于这两种模式之间差异的帖子,但有一些我找不到. 从我读过的内容来看,我看到工厂方法模式允许您定义如何创建单个具体产品,但对客户端隐藏实现,因为他们将看到通用产品.我的第一个问题是关于抽象工厂.它的作用是否允许您在其中创建具体对象系列(这取决于您使用的具体工厂),而不仅仅是单个具体对象?抽象工厂只返回一个非常大的对象还是很多对象取决于你调用什么方法? 我的最后两个问题是关于 ..

WCF 依赖注入和抽象工厂

我有这个 wcf 方法 Profile GetProfileInfo(string profileType, string profileName) 和业务规则: 如果 profileType 是从数据库中读取的“A". 如果 profileType 是从 xml 文件中读取的“B". 问题是:如何使用依赖注入容器来实现? 解决方案 让我们首先假设您有一个 IProf ..
发布时间:2021-12-13 20:21:42 其他开发

如何将值传递给 wcf 服务上的构造函数?

我想将值传递给实现我的服务的类的构造函数. 但是,ServiceHost 只允许我传入要创建的类型的名称,而不是要传递给其构造函数的参数. 我希望能够传入一个创建我的服务对象的工厂. 到目前为止我发现了什么: WCF 依赖注入行为 这超出了我的要求,而且对于我的需求来说似乎过于复杂. 解决方案 您需要实现自定义 ServiceHostFactory、ServiceH ..
发布时间:2021-12-13 19:24:54 其他开发

c ++派生类型的自动工厂注册

像我之前的许多人一样,我正在尝试让我的派生类型自动注册到我的工厂.我通读了许多问题,并试图专注于我在那里没有找到的内容. 除了自动注册之外,其他一切都运行良好. 我的目标: 自动注册我的基类的任何派生类Base 只有我标记为可注册 的课程不仅是Base的直接子类 例如: Base -> Device -> Camera -> 网络摄像头 这将使使用 CRTP 如这个问题困 ..
发布时间:2021-12-13 18:54:34 C/C++开发

用 AutoFac 替换工厂

我习惯于创建我自己的工厂,如图所示(这是为了说明而简化的): 公共类ElementFactory{公共 IElement 创建(IHtml dom){开关(dom.ElementType){案例“表":返回新的表元素(dom);案例“div":返回新的 DivElement(dom);案例“跨度":返回新的 SpanElement(dom);}返回新的 PassthroughElement(do ..
发布时间:2021-11-30 19:53:34 C#/.NET

C++ 模板元编程:如何创建和迭代“typedefs"类型列表在模板类中.

我的代码是一个工厂,它根据模板参数的类型创建对象.我想将其扩展为“列表"类型. 这就是我所拥有的:Algo1 定义了一个类型 indata.FASSubscriberFactory::Create() 返回一个指向 FASSubscriber 的指针.请看这里: struct Algo1{typedef DataType1 indata;}模板::ptype>struct FASSubsc ..

GoF 工厂的命名约定?

此模式使用抽象工厂,然后是工厂的实现. 我确定这两个类有标准的命名约定,但我不知道它是什么. 例如: public abstract class ChocolateFactory { }; public class MyChocolateFactory { } : ChocolateFactory 这里的标准约定是什么? 我在考虑 ChocolateFactor ..
发布时间:2021-11-26 16:20:56 C#/.NET