弟弟说,你工厂模式说的头头是道,加个抽象你还懂吗?
我心中想,昨天小姐姐都没有理会,偷偷看了工厂模式终极版-->>抽象工厂模式,然后淡然回答:略懂略懂,呵呵!
我进入状态,继续说道:简而言之,抽象工厂模式可以看做一个二维数据模型,来来来看图说话;
弟弟:有点工厂的工厂这种意思
我:还是有所不同的,这里还是一层工厂,没给工厂建立新的工厂。抽象工厂模式,是工厂方法的升级版,但是每个实体工厂能够生产的产品丰富了许多。有多种产品。为了能够将工厂动作能够整齐划一,即抽象工厂类能够适应不同的产品。又把各种厂家的同类产品抽象成接口类。这样抽象出来的工厂就能适应各种厂家的各种产品了。
弟弟:那它的扩展性能如何?
我:如果是扩展新厂家,那么就会类似工厂方法模式的扩展,不仅新建新的工厂,还有新建厂家对应的所有分类的产品。工厂方法模式是新建工厂,新建一种对应的产品类。这是不同之处。总而言之就是,产品规定死了,厂家却可以扩展很多。
[工厂模式]juejin.cn/post/697204…
[github地址]github.com/shwndi/desi…