工厂模式理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a990924291/article/details/50630222

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

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

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的能力,只是框架帮我们实现了实例化的过程。这是一种设计原则。类里面的属性。减低代码的耦合度。就是我这个类需要调用其他类的方法,而我们不得不去实例化他,所以引入了依赖注入的设计原则。





猜你喜欢

转载自blog.csdn.net/a990924291/article/details/50630222