工厂方法、抽象工厂、简单工厂
昨天公司有同事分享了设计模式的一些内容,主要讲了简单工厂,抽象工厂,工厂方法的东西,讲的时候听得不是很明白,就像自己上网调查,并且写一篇博客加深自己的印象 抽象工厂: 抽象工厂是对应类这个概念的,也就是说一个类就是一个工厂。一个类里边可以有很多方法,这个是毋庸置疑的,而方法最多只能有一个返回值,假如这个类里边有三个方法,每个方法都一个返回值的话,那么对应抽象工厂来讲就是一个工厂里边有好多的产品线,每个产品线都可以生产一个产品,那么一个工厂就可以生产好多产品。 刚才讲的好像跟<抽象>没什么关系,那抽象是怎么体现出来的呢,类是怎么抽象的?提取一些事物的共同特征称其为抽象,像C#里边的接口,抽象类,都是抽象的概念,其实类也是一种抽象,对象才是真真正正具体的东西,就像我们讲<工厂> 他就是一个抽象概念,比如说小明家旁边有两家工厂,一个水泥厂,一个水果糖厂(这两个好像挨着不太好) 你可以说小明家旁边的<水泥厂>是<工厂>,但是你不能说<工厂>是小明家旁边的<水泥厂>,概念颠倒了,小明家旁边的的水果糖厂也是工厂啊。好还是用刚才的例子来举例,用这两种东西来举例有点难,但是咱们就硬着头皮上吧。比如说水泥厂要生产水泥有三种选择,A,B,C型水泥,对应不同的档次,同时呢水果糖厂也有三种选择,A,B,C型水果糖,对应不同的档次,现在我们要生产产品,但是这个水泥和水果糖找共同特征有点难