factory-method

    1热度

    1回答

    我们必须实现能够创建多个复杂对象的工厂。 我们应该如何处理它与依赖注入? 我已经阅读了许多有关它在stackoverflow(和其他地方)的主题,特别是马克·塞曼的,但不能作出任何决定,所以需要你的意见。 例如: <?php class EventFactory { public function createEvent($type) { switch ($ty

    -1热度

    1回答

    我想创建一个工厂方法,返回一个实现某个接口的结构的构造函数。 下面是一些示例代码,说明我正在使用的模式。 // Generic Interface type Foo interface { Bar() string } type FooConstructor func(name string) Foo // A struct that implements Foo type

    -1热度

    2回答

    我正在研究一个项目,我们将实际的类实现保存在接口的静态字段中。这方面的一个例子是: public interface Storage { public static Storage instance = new DiskStorage(); public File get(String name) throws Exception; public void cr

    0热度

    2回答

    我70%确信这是不可能的,但有没有办法确保子类具有特定的构造函数或工厂方法? 在这种情况下,我想创建一个StringSerializable,要求子类有以下几种方法 toString,其将对象到String。 fromString,它从String获取实例。 很明显,在第一种情况下,我只能使toString为抽象。另一方面,拥有非静止的fromString似乎是有问题的。但是,我无法创建抽象静态方

    0热度

    2回答

    我实现了Factory Method模式,但是检查了几个例子,我无法确定扩展产品的具体类而不是创建抽象类或接口是否正确......仅仅用于示例(PHP)。 所以,我有我的抽象工厂和他们的具体工厂: interface BookFactoryInterface { public function createBook(); } class ElectronicBookFactory

    2热度

    1回答

    本页面descibes Factory Method和Abstract Factory之间的一个重要区别: http://architects.dzone.com/articles/factory-method-vs-abstract 的差异,根据这一页,是在Factory Method模式Creator(即创建新对象的实体)和Client(即使用Creator的实体)是相同的类。更确切地说,这种

    1热度

    1回答

    编写工厂方法时,我无法理解[[self alloc] init]的使用。我知道工厂方法是创建类的实例的便捷方法,并且他们为您执行alloc,init和autorelease。我可以看到这是如何形成的,例如在用工厂方法arrayWithArray:或array等声明NSArray属性时,对其进行调用以设置它。 我可以明显看出这与alloc和init的直接(明示)呼叫有何不同。 我的问题是,我不了解更

    3热度

    3回答

    TL; DR:Autofac是否支持类似于AutoFixture的fixture.Get()机制? 我使用Autofac和需要异步调用工厂方法看起来是这样的: class AppModel { public static async Task<AppModel> CreateAsync(IDependency x, IDependency2 y) { ... } } 什

    2热度

    1回答

    我有一个基地Dto类型,我有几个常见的逻辑和代码(更改通知,验证等)。由于技术原因,每当我必须创建一个具体的DTO类型的实例,如PersonDTO,我必须使用工厂方法。 var personDto = Dto.Create<PersonDTO>(); // or a non-generic variant like var personDto = Dto.Create(typeof(Perso

    1热度

    2回答

    这是预期的行为吗? 例如,对于申报像这样的类: @interface XYZPerson : NSObject @property (nonatomic, copy) NSString *firstName; @property (nonatomic, copy) NSString *lastName; + (instancetype)personWithFirstName:(NSStr