|
|
1
1
是的,它很管用,但并不理想。
想象一下你有十五辆车。然后,您需要一个非常长的方法来枚举所有选项并生成正确的汽车。这不仅速度太慢,而且很容易出错,因为您可能很容易遗漏/删除某些内容,并且很难调试。一般来说,长方法的代码味道不好。
这需要您编辑
简而言之,抽象工厂方法只是使代码更易于扩展。 此外,生成依赖于字符串的车辆是一个非常糟糕的主意;如果您使用大写字母或拼写错误怎么办?除此之外,这是相当缓慢的。最好有这样的东西。
这里出错的机会要少得多 该类的任何用户都可以轻松地对其进行扩展。 |
|
|
2
0
相比之下,工厂方法在编写通用业务逻辑时非常有用,而无需指定具体受益人 哪些客户将在晚些时候写信。 一个虚构的例子(假设通用税务计算)-
我的所有税收规则实现都是指使用抽象计算器进行操作 数量 特定客户可以将其扩展到日元(没有小数点)或美元/英镑等的计算,甚至可以扩展到根据当地规则在每次操作后四舍五入(例如,到下一个10卢比)的计算器。 同样,USDollarTaxCalculator将用自己的操作规则对其进行扩展(但不能也不需要重新定义税务规则)
在里面 . 客户看起来像
此处需要注意的要点
|
|
|
3
0
如果您想阻止开发人员(或您自己)继续:
相反,强制所有车辆都应该是从车辆继承的子车辆,然后将其声明为抽象车辆。
|
|
|
4
0
我发现以下链接非常有助于理解为工厂创建抽象类背后的逻辑,以及使用工厂模式本身的逻辑。 https://msdn.microsoft.com/en-us/library/ee817667.aspx
第二段指出,创造者使我们能够创建新工厂,处理产品中或其创建逻辑中可能引入的更改,迫使我们创建新工厂。 |
|
|
MattT · 添加rowfactory后不显示Javafx表视图 8 年前 |
|
|
vpetrovic · 具有Autofac依赖项的工厂 8 年前 |
|
|
Praveen Rai · 创建者在工厂模式中的作用 8 年前 |
|
|
bschreck · 在不知道类型的情况下返回泛型对象? 8 年前 |
|
|
tblznbits · 如何在定义全局方法时从继承的类中动态选择子类 9 年前 |
|
|
nanachimi · 当实现的构造函数具有要注入的依赖项时的工厂模式 9 年前 |
|
|
satyanarayana · 使用工厂模式在同一表中加载不同的自定义单元格 12 年前 |