-
1 votesanswersviews
在Swift中对URLSession的工厂方法进行子类化
我试图在Swift中创建 URLSession 的子类(原因无关紧要,但与测试有关) . 我需要它使用 delegate 和特定的 URLSessionConfiguration ,这是 URLSession 上的只读属性 . 使用委托初始化 URLSession 的常用方法是使用下面的代码完成的,它可以完美地运行: let session = URLSession(configuration: ... -
272 votesanswersviews
如何正确实现C中的工厂方法模式
C中的这一件事让我感到不舒服很长一段时间,因为我老实说不知道该怎么做,尽管听起来很简单: 如何正确实现C中的工厂方法? 目标:允许客户端使用工厂方法而不是对象的构造函数来实例化某个对象,而不会产生不可接受的后果和性能损失 . “工厂方法模式”是指对象内部的静态工厂方法或另一个类中定义的方法,或全局函数 . 通常只是“将类X的实例化的正常方式重定向到构造函数之外的任何其他位置的概念” . 让我略过一... -
1 votesanswersviews
在产品类的接口或抽象超类中定义工厂方法
我有一个抽象的超类和继承它的子类 . 每个子类 MySubclass 都应具有 public static MySubclass CreateFrom(ISomething something) 工厂方法 . 其参数的接口对于所有子类都是相同的,但返回类型当然必须始终是相应子类的类型 . 我可以以某种方式实现这一点,以便在接口或抽象超类方法定义之后具有静态工厂方法,而无需为每个单独的子类创建单独的... -
506 votesanswersviews
Builder Design模式和Factory Design模式有什么区别?
Builder设计模式和Factory设计模式有什么区别? 哪一个更有利,为什么? 如果我想测试和比较/对比这些模式,我如何将我的发现表示为图表? -
139 votesanswersviews
设计模式:抽象工厂与工厂方法
注意:问题在帖子的末尾 . 我已经阅读了有关 Abstract Factory vs Factory Method 的其他stackoverflow线程 . 我理解每个模式的意图 . 但是,我不清楚这个定义 . Factory Method定义用于创建对象的接口,但是让子类决定实例化哪些接口 . 工厂方法允许类将实例化延迟到子类 . 相比之下,抽象工厂提供了一个接口,用于创建相关或依赖对象的族,... -
339 votesanswersviews
抽象工厂模式与工厂方法的区别
我知道有很多关于这两种模式之间差异的帖子,但有一些我找不到的东西 . 从我一直在阅读的内容中,我看到工厂方法模式允许您定义如何创建单个具体产品,但是从客户端隐藏实现,因为他们将看到通用产品 . 我的第一个问题是抽象工厂 . 它的作用是允许您创建具体对象的族(可以取决于您使用的特定工厂)而不仅仅是单个具体对象?抽象工厂是否只返回一个非常大的对象或许多对象,具体取决于您调用的方法? 我最后两个问题是关... -
133 votesanswersviews
设计模式:工厂与工厂方法与抽象工厂
我正在从网站上阅读设计模式 在那里我读到了有关工厂,工厂方法和抽象工厂的信息,但是它们很混乱,我对定义并不清楚 . 根据定义 Factory - 创建对象而不将实例化逻辑暴露给客户端,并通过公共接口引用新创建的对象 . Factory Method Factory方法的简化版本 - 定义用于创建对象的接口,但让子类决定实例化哪个类,并通过公共接口引用新创建的对象 . 抽象工厂 - 提供用于创... -
8 votesanswersviews
工厂方法模式是否违反开放/封闭原则?
Factory Method pattern(不要与Factory或Abstract Factory模式混淆)是否违反了Open/Closed principle? 更新:为了澄清,我指的是具体类具有静态工厂方法的场景 . 例如(这是来自FMP上的维基百科页面): class Complex { public static Complex fromCartesian(double rea... -
442 votesanswersviews
工厂和抽象工厂模式之间的基本区别是什么? [关闭]
工厂和抽象工厂模式之间的基本区别是什么?