设计模式(1)- 简单工厂模式

简单工厂模式

      1.定义

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

      2.示例代码

        

/*接口定义,该接口可以通过简单工厂来创建*/
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);
     }
}

/*工程厂类*/
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;
    }
}

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

      3.实际应用

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

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

    

扫描二维码关注公众号,回复: 246475 查看本文章

猜你喜欢

转载自renhanxiang.iteye.com/blog/2406862