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