设计模式-简单工厂模式

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.实际应用:

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容