什么是工厂模式:
工厂模式就是用来替代创建实例对象时的new()方法,比如在java语言当中,我们的interface就是提供一种标准,然后implements基于这种标准去提供不同的一个实现,这种模式就叫工厂模式。那么这样做的目的,给我们系统带来什么好处呢?
优点:更大的可扩展性和尽量少的修改量
工厂模式有一个好处,就是可以不用根据不同的实现方式来进行类似于if else的多层级的嵌套。比如上传文件,对应的文件中心有阿里云,腾讯云,还有本地的文件中心这样的不同的文件上传方式,就可以定义一个文件上传的接口工厂类。里面有文件名的获取,流的获取,包括上传地址,端口等等,各种内容,通过不同的实现类来实现不同的上传方式。这样上传处理的方式就比较清晰了。
Java中的工厂模式:Spring框架 (IOC容器)
而除了在应用开发里面,技术框架里面同样也运用比较广泛,Spring里面比较常用的就是bean,很多基础配置都放在bean里面,在Spring MVC的时代,还需要手写bean的配置,放在XML文件,很多老框架还在用,当然现在用的是注解了。那么配置写好了,就通过beanFactory来创建bean的对象,这样整个项目才可以访问到bean里面的各种配置。整个bean的创建过程其实就是,简单工厂模式的一个体现,把一个bean需要的内容、方法统统放在beanFactory里面,这样产生的内容就是一个比较标准的实体,该有的都有,这个是框架的应用。
抽象工厂模式
抽象工厂模式,更简单,就是各个工厂模式的一个组合,如果要造一个车,比如说像轮胎、玻璃、变速箱、底盘、方向盘等等,都需要有一个零部件的厂商、整个的汽车厂商就需要完成这些零部件的组装,那么他也是一个工厂,只不过这个工厂涵盖了很多零部件的厂商。这就是抽象工厂,说白了就是组装工厂模式生产的工厂,对各个工厂模式生产出来的实例进行组装。