factory 相关问题

“Factory”是面向对象编程模式的通用术语,用于创建对象。请在适当的时候使用特定的Gang of Four模式[factory-method]或[abstract-factory]的标签代替此标签。


C#工厂方法在类似类型之间转换并保存数据

namespace MyMainNameSpace { using MySubNameSpace; using MyOtherSubNameSpace; public static class FactoryClass { public static MyFirstClass ConvertToSecondClass() { var mySecondClass = new MySecondClass() { Attr1 = MyFirstClass().Attr1; Attr2 = MySecondClass().Attr2; }; return mySecondClass; public static MySecondClass ConvertToFirstCLass() { var myFirstClass = new MyFirstClass() { Attr1 = MySecondClass().Attr1; Attr2 = MySecondClass().Attr2; } return myFirstClass; } } } namespace MyOtherSubNameSpace { public class MySecondClass { public required string Attr1 { get; set; } public required string Attr2 { get; set; } } } namespace MySubNameSpace { public class MyFirstClass { public required string Attr1 { get; set; } public required string Attr2 { get; set; } } }

回答 2 投票 0

PHPSTAN通用和工厂返回类型

我不明白为什么phpstan(在9级以上)将混凝土工厂的makeCollection方法(最后一类)标记为返回集合。 我不明白为什么Phpstan(在9级以上)标记混凝土工厂的MakeCollection方法(最后一类)作为返回集合。 <?php declare (strict_types=1); /** * @template ElementType */ interface CollectionInterface { } /** * @template ElementType */ interface CollectionFactoryInterface { /** * @return CollectionInterface<ElementType> */ public function makeCollection() : CollectionInterface; } /** * @template ElementType * @implements CollectionInterface<ElementType> */ class Collection implements CollectionInterface { } /** * @template ElementType * @implements CollectionFactoryInterface<ElementType> */ class CollectionFactory implements CollectionFactoryInterface { /** * @return CollectionInterface<ElementType> */ public function makeCollection(): CollectionInterface { /* phpstan flags this */ return new Collection(); } } 如何键入代码的正确方法是什么,以便工厂和创建方法的返回值(makeCollection)与其各自的接口兼容? 现在,phpstan报告了此错误: MethodCollectionFactory :: MakeCollection()应返回Collection Interface,但返回集合。 不能保证new Collection实际上是CollectionInterfacr<ElementType>。它实际上可能包含其他东西。 对此有四个想法: 这是9级错误。 9级已经非常严格。您可以处于8级,并且仍然具有非常可靠的类型检查而无需这些烦恼。 如果收集的构造函数接受了用array<ElementType>类型的一系列元素,则phpstan不会抱怨这一点。 您可以通过在返回上方的内联phpdoc铸造来“强制”这种类型,从而使错误消失。 一旦实施了此建议,PHPSTAN将更好地理解代码,并且错误将消失:Https://github.com/phpstan/phpstan/phpstan/issues/6732#issuecomment-1062029088

回答 1 投票 0

在初始化处理程序之前,我如何在Mezzio应用中使用请求参数? 我正在创建一个Mezzio应用程序,该应用程序处理一些后要求并使用身体中的一些数据从DB中获取一些配置(例如,我使用一些Webhook获得了用户的ID,然后通过它获得

class WebhookHandlerFactory { // $config['client'] is hardcoded in the .env file in this case and then put into ConfigProvider protected ContainerInterface $container; public function __invoke(ContainerInterface $container): RequestHandlerInterface { $this->container = $container; $config = $this->getConfig(); $client = (new SomeClient($config['client']))->getClient(); $controller = (new SomeControllerFactory)($container); return new WebhookHandler($controller, $config, $client); } protected function getConfig(): ArrayObject { $config = $this->container->get('config'); // here I use my hardcoded data to find something in the DB and then put it into $config return $config; }

回答 1 投票 0


高礼拜而不是使用工厂模式的继承?

我有工厂newpeoplemanager和几种类型的用户。 我有人的基本结构 对于工作类型,我需要更改dofirst函数的行为。 包装主 我...

回答 0 投票 0

ZF3 将部分全局配置注入服务工厂

我在 Module.php 中定义了一个服务,我在其中注入我的邮件配置,在 config/autoload/global.php 中这样定义: 公共函数 getConfig() { 返回包含 __DIR__ 。 '/../config/module....

回答 1 投票 0

每个单元 JavaFX 的自定义单元工厂

我从几周开始就开始使用JavaFX,在花了很长时间处理TableView和TreeTableView之后,我来找你是为了更好地了解cellFactory。 我的第一个问题涉及

回答 1 投票 0

这个工厂方法适合我想做的事情吗?

这是我想要实现的目标: 这是一个文本文件解析器 根据第一个字符我创建正确的解析器对象 我希望使用正确的工厂模式来做到这一点 你能告诉我我是否...

回答 1 投票 0

工厂内的原型分配,以实现私有字段处理与没有原型方法的构造函数和私有状态

我知道有很多关于模块模式、原型继承、ES6 类等的问题,并且都有很好的答案。这不是讨论不同的模式或不好的一面......

回答 1 投票 0

Codeigniter如何使用工厂模式?

如何在codeigniter中使用工厂类调用。我一直在尝试将以下内容实现为库 类我的类{ 公共$_class =“工厂”; /* =====================...

回答 1 投票 0

拼写错误或缺少模块?

我有一个 ASP.NET MVC5 应用程序,其中使用 AngularJS。在此,我有一个名为 atTheMS 的模块,其中包含一个名为 albumService 的服务工厂和 3 个控制器:ListController、EditController、...

回答 2 投票 0

PHP/Laravel:错误:在 null 上调用成员函数 __call()

我目前正在开发一个 Laravel 项目,并且面临着为数据透视表设置工厂的问题。具体来说,我正在尝试为一个表创建一个工厂,作为

回答 1 投票 0

Lua 构造函数中的 self

那里! 抱歉,这不是一个具体的问题。 在《Programming in Lua, 4th Edition》中可以看到下面的代码: 账户 = {余额 = 0} 功能帐户:新(o) o = o 或 ...

回答 1 投票 0

如何获取Android设备上次恢复出厂设置的时间?

我正在开发一个安全相关的应用程序,想知道设备之前何时恢复出厂设置?有什么办法可以获取这些信息吗? 我尝试获取最后修改时间...

回答 2 投票 0

工厂方法:防止类直接实例化

我有一个工厂方法来实例化一个类。有没有办法阻止此类直接实例化? 我看到的唯一选择是使用传递到 __construct() 的参数,但这不是

回答 5 投票 0

Java 解析具有不同标头和模型对象的多个 CSV 文件的最佳设计

我有几个需要解析的 CSV 文件。稍后用于 MYSQL 中的插入。我已经编写了一个解析器,但我想尽可能避免代码重复 我已经在分钟...

回答 2 投票 0

创建工厂类

作业包含以下说明: 第二部分 – 工厂类 该类充当其他具体 Fruit 类(例如 Orange 和 Apple)的基类。正如标题所暗示的,这堂课将...

回答 1 投票 0

如何反转`dataclass.astuple`?

我正在尝试从元组构造数据类的层次结构,如下所示: 从数据类导入 astuple,数据类 @数据类 班级儿童: 名称:str @数据类 班级家长: 孩子:Chi...

回答 1 投票 0

为带有参数/实参的类创建一个单例工厂

首先,我在一篇文章中读到了这篇文章 - 基本上告诉我我根本不应该使用单例 - 最常见的是,单例不允许在创建时指定任何参数

回答 4 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.