• 工厂模式



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

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

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

  • 相关阅读:
    CSS3清除浮动3种方法
    CSS3浮动float
    CSS选择器伪类选择器(深度探索)
    CSS选择器孩子孙子兄弟(> ~ +)
    CSS权重问题
    CSS3定位
    Webpack 打包 6. 配置 devServer 用来自动化(自动编译,自动打开浏览器,自动刷新浏览器~~)
    Webpack 打包 7.webpack 开发环境配置
    Webpack 打包 4.webpack 图片资源打包
    JS模块化4 CMDSeaJS
  • 原文地址:https://www.cnblogs.com/kangjunyun/p/5249037.html
Copyright © 2020-2023  润新知