设计模式-简单工厂模式

2022-07-30  本文已影响0人  乌尔苏拉
1.定义:

提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口,抽象类,也可以是具体的类。

2.示例代码:

Java代码

/*接口定义,该接口可以通过简单工厂来创建*/  
public interface Api{  
     public void operation(String s);  
}  
/*接口具体实现类A*/  
public class ImplA implements Api{  
     public void operation(String s){  
         System.out.println("ImplA s==" + s);  
     }  
}  
/*接口具体实现类B*/  
public class ImplB implements Api{  
     public void operation(String s){  
         System.out.println("ImplB s==" + s);  
     }  
}

Java代码

/*工厂类*/  
public class Factory{  
    public static api createApi(int condition){  
         Api api = null;  
         if(condition == 1){  
             api = new ImplA();  
         }else if(condition == 2){  
             api = new ImplB();  
         }  
         return api;  
    }  
}  

Java代码

/*客户端调用*/  
public class Client{  
   public static void main(String args[]){  
        Api api = Factory.createApi(1);  
        api.operation("正在使用简单工厂");  
   }  
}  

3.实际应用:

虽然从理论上来讲,简单工厂什么都能创建,但对于简单工厂可创建对象的范围,通常不需要太大,建议控制在一个独立的组件级别,或者一个模块级别,也就是一个组件或模块简单工厂。否则这个简单工厂类会职责不明,会有大杂烩的感觉。

简单工厂模式本质:选择实现

上一篇下一篇

猜你喜欢

热点阅读