设计模式之简单工厂、工厂方法、抽象工厂的联系与区别

一、背景

小伙伴们在学习设计模式的时候,会不会被简单工厂、工厂方法、以及抽象工厂弄晕呢?博主在这里给大家解释一下这几个之间的关系,帮助大家理解。

二、理解

  • 首先,应该学习简单工厂,这个好说,就是通过一个工厂类的方法来创建实例。
  • 接着,因为引起这个工厂类的变化原因太多,于是可以将这些switch 拆开,变成一个个的类,变成多个工厂,于是就有了工厂方法。
  • 再接着,不仅可以将switch拆开成为多个类,同时可以将switch在这个工厂类里面变为这个类的多个方法,于是就有了抽象工厂的中间状态,这个时候,如果这个工厂类也可以抽象出来,那么就有了抽象工厂的诞生。
  • 设计模式之所以这样做,本质上就是面向抽象编程,在简单工厂中,将实例提升为公共的接口对象,从而可以通过工厂类去switch生成实例;在工厂方法中,所有工厂继承于一个工厂,返回同种接口的实例;在抽象工厂中,将多个工厂的提升为公共的接口对象,进一步面向抽象编程。
所谓面向抽象编程,就是面向接口,面向抽象类的编程。从而达到程序解耦的目的,程序依赖于抽象,而不是依赖于细节。

三、注意事项

1.我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出BIM相关软件开发以及编程干货;
2.欢迎加入BIM行业开发交流1群,获取更多开发资料 群号:711844216

发布了115 篇原创文章 · 获赞 115 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/birdfly2015/article/details/104100273