工程模式和抽象工厂模式
您是否需要一种非常快速的方法来制作Factory对象? 然后,您需要lambda或其他函数传递! 它不仅快速,而且非常简单。 我敢打赌,如果您对Lambdas相当满意,那么您只需阅读标题就可以做到这一点。 如果您是其中之一,请坚持; 你永远不知道你能学到什么。
附带说明:我正在用Java和Python做代码示例。 为什么? 因为我喜欢这两种语言,所以为这两种语言放东西肯定不会受到伤害。
工厂模式入门
如果您已经知道什么是工厂设计模式,则可以跳到下一部分。
Factory模式的重点是为对象和方法提供一种实例化对象的方法,而无需暴露所有(或通常是任何一种 )实例化逻辑(需要将什么传递到构造函数中)。
例
举一个愚蠢的例子,假设有一类“ Scientist
,它需要一种方法来产生新的Pen
来写下实验数据,但是他不想被创建过程所困扰。 为此,您将为Scientist
一个PenFactory
, Scientist
只需知道按一下工厂的按钮即可获得新的笔。
PenFactory
是一个简单的对象,只有一个create()
方法,该方法在您每次调用Pen
时都会提供一个新的Pen
实例。 如果Scientist
关心Pen
颜色,则可以为他提供ColoredPenFactory
, ColoredPenFactory
的create()
方法也接受颜色参数。 然后, ColoredPenFactory
必须弄清楚如何为该笔提供这种颜色。
扩展工厂模式理念
Factory Pattern是面向对象代码的一种模式,因此仅限于OO的工作方式,但是我们可以利用其目的并尝试找到一种以功能方式使其实现的方法,这实际上使它成为了很多更轻松。
实际上,由于缺乏传递功能的能力而创建了许多OO设计模式。 这些中的大多数都可以简单地通过传递