工厂模式理解

工厂模式分为三种:简单工厂,工厂方法,抽象工厂。

简单工厂:一个工厂负责一种产品。

eg:一个手机工厂生产一种手机。


工厂方法:设计一个工厂接口。实现多个工厂。

eg:一个手机工厂生产2种型号的手机。

设计:public interface Factory{

public void create();


class FactoryOne{

public void create(){

       生产手机1;}

}

class FactoryTow{

public void create(){

       生产手机2;}

}


抽象工厂:就是将多个工厂方法中的工厂接口集合在一起

eg:

public interface AbstractFactory {  
   public ProductA factoryA();  
   public ProductB factoryB();  
}  

这样工厂A就是可以负责生产手机。工厂B就是负责生产电视等。


实际应用:spring工厂模式:

spring中的bean就是采用工厂方法的。在spring框架中,spring将所有的bean封装在一个工厂中。在使用过程中,客户传入一个name属性,spring就从工厂中取出具体的bean。具体体现就是:我们加载配置获取工厂,传入name值。spring工厂就去调用具体的生产工厂,创造出一个bean给客户端。


简单工厂跟依赖注入区别:

虽然都是通过具体类直接调用其他类。

但是,工厂方法是:通过get的获取具体的bean,就是说工厂本身就具备实例化bean的能力,是一种设计模式,类之上的设计。就是工厂需要创造出这个bean


依赖注入:通过set方法将具体的类注入到需要它的类中。调用类本身不具备实例化bean的能力,只是框架帮我们实现了实例化的过程。这是一种设计原则。类里面的属性。减低代码的耦合度。就是我这个类需要调用其他类的方法,而我们不得不去实例化他,所以引入了依赖注入的设计原则。





 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值