factory相关内容

如何从Factory_boy使用Faker

Factory_boy 使用 fake-factory(Faker)生成随机值,我想直接在Faker的Django测试中生成一些随机值. Factory_boy文档建议使用 factory.Faker 及其提供者为: class RandomUserFactory(factory.Factory):类Meta:模型=模型.用户first_name = factory.Faker('fir ..
发布时间:2021-05-01 18:39:15 Python

使用字符串vs枚举作为工厂方法的参数?

我最近正在阅读此博客 https://blog.cleancoder.com/uncle-bob/2021/03/06/ifElseSwitch.html 和本段使我感到困惑: 请谨慎使用该令牌x.不要试图使其成为枚举或其他任何东西需要在红线上方进行声明.整数或字符串是一个更好的选择.它可能不是类型安全的.确实,它不能安全输入.但是它将允许您保留组件您的架构的结构. 如果我们在较高级别 ..
发布时间:2021-04-30 19:28:38 其他开发

TypeScript中的工厂返回类

根据输入数据编写一个库;创建类并在主类中使用它们. 为了使代码更具可维护性和可读性,我将类生成逻辑移到了一个单独的文件中,该文件可以导出工厂函数. 代码是在ES2015中编写的.现在,我要迁移到TypeScript. 这是一个伪示例: factory.ts 导出默认功能(foo:string)=>{A类{值:字符串= foo +'-A';}返回{A};}; Main. ..
发布时间:2021-04-30 19:25:36 其他开发

DI和工厂模式之间有什么区别?

我有一个依赖于3个类的类,所有3个类均具有它们依赖的其他类.目前,我正在使用一个容器类来构建所有必需的类,将它们相互注入并返回应用程序. 容器的简化版本如下所示: 类构建器{私人$ _options;公共功能__construct($ options){$ this-> _options = $ options;}公共功能build(){$ cache = $ this-> getCach ..
发布时间:2021-04-30 19:12:05 PHP

澄清肖恩·帕特恩(Sean Parent)的演讲“继承是邪恶的基础".

Sean父​​母的谈话,继承是邪恶的基类说,多态性不是该类型的属性,而是其使用方式的属性.根据经验,不要使用继承来实现接口.这样做的众多好处之一就是对具有虚函数的类进行非虚拟化处理,这仅是因为它们正在实现接口.这是一个例子: class Drawable{上市:虚拟虚空draw()= 0;};DrawA类:公共Drawable{上市:无效draw()覆盖{//做某事}};UseDrawable ..
发布时间:2021-04-19 20:44:54 C/C++开发

没有服务定位器的工厂模式

我目前只能尝试编写不依赖服务位置的工厂类. 我唯一想到的另一种选择是使用构造函数注入来注入所有可能的实例,但是当类通过引用传递时,这可能会导致意外. 一旦可能的提供商数量增加,它也可能会变得昂贵且混乱. 提供程序本身是完全复杂的类,它们具有自己的依赖性,因此无法进行手动构造. 更新的服务位置示例: public class ProviderFactory : IPr ..
发布时间:2020-11-30 05:14:22 C#/.NET

Tkinter的嵌套类工厂

我正在尝试构建一个脚本,以在将来的项目中导入. 该脚本应该在tk.Frame中创建一些tk.Frame,然后让我在 main 中编辑创建的tk.Frame. 我认为,到达那里的最好方法是创建Holder_frame类并放入一些嵌套类. 因此我可以在我的主中使用Holder_frame.F1对其进行调用. 我尝试了很多代码,最终在这里给了我一个帐户. 无论如何,我在这里: import ..
发布时间:2020-11-28 02:22:48 Python

在Spring中实现自定义工厂模式

通常,如果我想实现工厂模式,我会这样做. public class CustomFactory(){ // pay attention: parameter is not a string public MyService getMyService(Object obj){ /* depending on different combinations of f ..
发布时间:2020-11-03 22:14:46 其他开发

私有静态列表是限制类实例集的适当方法吗?

我试图避免使用相同的内部数据创建一个类的多个实例.我尝试了使用单独的类来构建MCode的实现,但是尝试保护MCode构造函数却无法正常工作,因此我回到了该实现.我想知道这是一个好的设计还是有什么更好的解决方案? public class MCode : IEquatable { private readonly static List Instances ..
发布时间:2020-11-03 22:13:43 C#/.NET

在TypeScript中将类型返回为变量

我目前正在用TypeScript编写类工厂,并且想返回一个类型作为函数的输出.尽管TypeScript将类型作为输入进行处理-即泛型-美观地,我还没有找到一种将类型作为输出处理的方法. 有关类工厂的StackOverflow问题一个特别有用的解决方案,但没有完全回答我的问题.鉴于以下结构, function factory(someVar: any) { return clas ..
发布时间:2020-11-03 22:13:33 前端开发

模板类工厂

我不确定如何在c ++中完成此操作,但是当我从他们的插件中请求某种利用我的核心库的对象来请求某种对象时,我想阻止我的库用户提供单例对象.我已经尝试了很多变体,但这是我目前在C ++的模板化工厂中实现的尝试. 问题作为注释嵌入在FooProvider.h存根中.谢谢! /* * IFooProvider.h */ //Interface - Factory for different ..
发布时间:2020-11-03 22:13:30 C/C++开发

有没有办法利用在JavaScript工厂函数中使用原型方法的性能优势?

我正在寻找以类似于Java类的方式编写面向对象的JavaScript(JS)代码的最佳方法. 工厂函数(FF)看起来是在JS中提供类功能的一种非常有前途的方式,到目前为止,我一直在像这样构建它们: function FF(constructorArg) { var _privateName = constructorArg; var publicMessage = "He ..

通过键和使用SimpleInjector自动注册来解析实例

我正在尝试通过键解析实例与SimpleInjector. 就我而言,密钥是来自配置文件的字符串,我需要工厂根据字符串返回正确的类型. 我使用了类似于上面链接中所述的解决方案,但对其进行了少许更改,因此实例可以提供自己的密钥. (会有许多实现IFoo的类,所以我想用它们的键自动注册它们) 这是完整的工作示例(.NET Core控制台应用程序): (为了简化可读性,我将其简短表示,因 ..

静态注册的工厂模式

尝试使用其静态构造函数通过以下工厂注册我的类型时遇到问题: public class Factory { public static Factory Instance { get { return _instance; } } private static Factory _instance = new Factory(); private ..
发布时间:2020-11-03 22:12:11 C#/.NET

angularjs工厂返回未定义

我正在学习AngularJS的基础知识,我无法弄清楚为什么这个Factory返回一个未定义的值.这是我创建和了解工厂的第一次尝试.我在SO和互联网上看到了很多示例,但找不到解决方案. 我正在尝试在工厂中创建一个字符串(颜色)数组,并在每个不同的视图中显示一个按钮,以将一个字符串添加到该数组中.但是工厂会返回未定义的值,因此我无法将值注入控制器. 这是代码. index.html ..
发布时间:2020-11-03 22:12:06 前端开发

工厂方法-应用程序类是否需要抽象?

Erich Gamma的GOF设计模式书说: 应用程序一词可以自行创建多个文档,如下所示: 似乎一个应用程序可以创建多个文档. 在哪种情况下,我需要将Application类抽象化然后从中派生? 解决方案 抽象应用程序类不是工厂模式的本质,但是我们需要了解其背后的意图.相同的意图可以通过抽象的Plugin类来实现(在下面的示例实现中). 任何将对象创建推迟到需要处理的对 ..
发布时间:2020-11-03 22:12:04 其他开发

我可以在C ++中在工厂中声明的同一行上使用变量吗?

我有一个多态的类层次结构.虽然我还支持标准的工厂方法,在此方法中,我仅使用基类指针,但我还希望有一种工厂机制为我提供派生类,这并不容易,因为这些函数的返回类型不同.这就是为什么我想到重载函数并让编译器选择正确的函数的原因. 对此的一个简单应用是,我可以编写一些函数来创建派生对象,“准备"它,并在不再需要类型信息时返回指向它的基址指针以进行进一步访问. 问题1:以下内容可以吗? 问题2 ..
发布时间:2020-11-03 22:11:57 C/C++开发