zoukankan      html  css  js  c++  java
  • 工厂模式


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

    经验来自于博主: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();
       }  
    }

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

  • 相关阅读:
    关于16位的OS尝试(2)
    关于16位的OS尝试(2)
    键盘幽灵程序源代码
    socks5协议转http协议源码
    溢出专题(二) widechar的字符串缓冲溢出攻击技术
    超强:bat写的exploit
    键盘幽灵程序源代码
    超强:bat写的exploit
    socks5协议转http协议源码
    高质量C /C编程指南第3章 命名法例
  • 原文地址:https://www.cnblogs.com/kangjunyun/p/5249037.html
Copyright © 2011-2022 走看看