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

一、背景

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

二、理解

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

三、注意事项

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值