工厂模式


上班这么久了,设计模式 知道的好少,代码写得懒得一逼。

经验来自于博主:http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html

1.工厂模式:

    建立一个 工厂类,对实现了统一接口的 类进行 实例的创建。

    

    抽象工厂模式 符合 面向对象的 开闭原则。

    比如:

    一个厨师 会做很多种菜,现在需要对每个 菜进行实例的创建好。

    第一步,先对 厨师 进行抽象 ,然后 给出一个 抽象的 做菜接口:

public interface chef(){
      public void cooking();  
}

    第二步,创建两个宫保鸡丁,跟韭菜鸡蛋 的实体类 实现 做菜的接口

public class KungPaoChicken interface chef(){
      public void cooking(){
        System.out.println("做出一个宫保鸡丁盖饭"); 

        }
}    
public class JiuCaiJiDan interface chef(){
public void cooking(){
System.out.println("做出一个韭菜鸡蛋盖饭");
}
}

    第三步 创建 两个工厂类,对上面两个类进行 实例的创建。同时 这两个工厂类还需要实现一个接口,这个接口 是对 工厂类里边 创建类的方法做了抽象,

public  class KungPaoChickenFactory interface Production (){
       public chef produce(){
          return new KungPaoChicken();
  }
}


public  class JiuCaiJiDanFactory interface Production (){
       public chef produce(){
          return new JiuCaiJiDan();
  }
}

public interface Production(){
public chef produce();
}

  下面写个测试类:

public class Test(){

    public void static main(String args[]){
          Production p=new KungPaoChickenFactory();
          KungPaoChicken  ji=p.produce();
          ji.cooking();
   }  
}

 总结:  抽象工厂模式在  有新的工厂类需要创建是不需要改动原来的代码,只需要实现 接口,添加新的实现类就可以。

原文地址:https://www.cnblogs.com/kangjunyun/p/5249037.html