小姚说一下工厂模式

真的很怕误导别人,但是我又想写出来请大家指正,如果你是新手,还是找更专业一点的文章。因为我也是新手。

这几天都再看设计模式,不过看了很久还是在看工厂模式,总得来说,我知道了工厂模式分为三种:

1.简单工厂SimpleFactory

2.工厂方法FactoryMethod

3.抽象工厂AbstractFactory

关于那些结构之类的就不画了,网上很多,我只是写一些个人的理解,如有不当,还请指出。

首先说的时简单工厂,简单工厂我理解就是专门为了创建一个对象而被设计出来的一个类。

以下就是简单工厂的文件结构:

image

在工厂里面,通过调用工厂的时候判断传进来的参数不同来生成不同的工厂:

image

结果就是我们可以获得自己想要创建的对象。

然后说的时工厂方法,工厂方法其实跟简单工厂差不多,但是区别是在工厂本身,简单工厂是没有继承或实现某个类或某个接口,但是工厂方法刚好具备这些。

工厂方法的文件借口如下:

image

在实现类里面只有一个方法:

image

其实这里面就有一个疑问,我再网上看到绝大多数文章都是返回一个具体的类,通过多态转为父类返回,但是我也有看到用上面这种方式的,相比于返回一个具体的类,我觉得用这种方法更为简单,只要传一个Class进来就可以,你觉得呢?

最后说的是抽象工厂,抽象工厂我理解为就是在工厂方法的基础上多了一些其他的返回类型,就是不只一个,有多个。

image

你可能感兴趣的:(小姚说一下工厂模式)