`
jiangduxi
  • 浏览: 445194 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

学习设计模式之简单工厂模式

 
阅读更多
简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例

简单工厂模式中java基础知识:
  • 接口

引用

   java中接口其实就是一种特殊的抽象类,它用于定义实现类的外观。主要的思想就是"封装隔离"。主要的好处:只要接口不变,其实现接口内部的变化不影响外部。

接口和抽象类:
引用

  抽象类即提供行为又提供功能。
  接口只提供行为不提供功能。

理解上面java的基础知识后看下简单工厂。我们由无模式开始引入到简单工厂模式
如果不用模式的话,一般会定义一个interface然后有Impl来实现这个interface例如
   public interface A{
         public void test(String s);
     }

  public class ImplA implements A{
        
      public void test(String s){
           System.out.println(" ImplA test..."+s);
      }
   }

下面用简单工厂模式调整下上面这个example
    public interface A{
         public void test(String s);
     }

  public class ImplA implements A{
        
      public void test(String s){
           System.out.println(" ImplA test..."+s);
      }
   }

  public class ImplB implements A{
        
      public void test(String s){
           System.out.println(" ImplB test..."+s);
      }
   }

  public class Factory
{
	/**
	 * 具体的创造A对象的方法
	 * @param condition
	 * @return
	 */
	public static A createA(int condition){
		
		//根据传入的条件去创建具体的对象
		A a = null;
		if (condition == 1)
		{
			a = new ImplA();
		}else if(condition == 2){
			
			a = new ImplB();
		}
		return a;
	}
}

这个Factory类就是根据CreateA接收到的参数去创建出你需要的a对象。这个factory类可以使通过接收外部的参数来创建。也可以是通过反射,配置文件来得到。

因此在这个简单工厂模式中使用到java基础的知识点就是接口引申而来的抽象类。之后会有抽象工厂模式,及其工厂方法模式。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics