小姚说一下工厂模式

真的很怕误导别人,可是我又想写出来请你们指正,若是你是新手,仍是找更专业一点的文章。由于我也是新手。设计模式

这几天都再看设计模式,不过看了好久仍是在看工厂模式,总得来讲,我知道了工厂模式分为三种:.net

1.简单工厂SimpleFactory设计

2.工厂方法FactoryMethod对象

3.抽象工厂AbstractFactory继承

关于那些结构之类的就不画了,网上不少,我只是写一些我的的理解,若有不当,还请指出。接口

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

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

image

在工厂里面,经过调用工厂的时候判断传进来的参数不一样来生成不一样的工厂:基础

image

结果就是咱们能够得到本身想要建立的对象。方法

而后说的时工厂方法,工厂方法其实跟简单工厂差很少,可是区别是在工厂自己,简单工厂是没有继承或实现某个类或某个接口,可是工厂方法恰好具有这些。

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

image

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

image

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

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

image

相关文章
相关标签/搜索