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

    工厂设计模式:

    假设有一个人在工厂里生产牛奶(Milk),生产啤酒(Beer)

    现在这个人想喝东西所以定义两种产品都同一个接口Drink

    然后让所有产品都实现这个接口

    interface Drink{
      public void Drink(){}
    }
    class Milk implement Drink{   public void Drink(){
        System.out.println("喝牛奶");
      } }
    class Beer implement Drink{   public void Drink(){
        System.out.println("喝啤酒");
      } }

     public class App{
       public static void main(String[] args) {
       
       }
     }

    接下来再写一个工厂类

    interface Drink{public void Drink();}
    class Milk implements Drink{
        public void Drink(){
            System.out.println("喝牛奶");
        }
    }
    class Beer implements Drink{
        public void Drink(){
            System.out.println("喝啤酒");
        }
    }
    
    class DrinkFactory{
        public static Drink getInterface(String str){
            if(str.equalsIgnoreCase("m")){
                return new Milk();
            }else if (str.equalsIgnoreCase("b")) {
                return new Beer();
            }else{
                return null;
            }
        }
    }
    
    public class App{
        public static void main(String[] args) {
            
        }
    }

    接下来就可以决定进行喝什么

    interface Drink{public void Drink();}
    class Milk implements Drink{
    	public void Drink(){
    		System.out.println("喝牛奶");
    	}
    }
    class Beer implements Drink{
    	public void Drink(){
    		System.out.println("喝啤酒");
    	}
    }
    
    class DrinkFactory{
    	public static Drink getInterface(String str){
    		if(str.equalsIgnoreCase("m")){
    			return new Milk();
    		}else if (str.equalsIgnoreCase("b")) {
    			return new Beer();
    		}else{
    			return null;
    		}
    	}
    }
    
    public class App{
    	public static void main(String[] args) {
    		Drink milk=DrinkFactory.getInterface("m");
    		milk.Drink();
    		Drink beer=DrinkFactory.getInterface("b");
    		beer.Drink();
    	}
    }
    

    然后完成了:

  • 相关阅读:
    rancher2.x添加node的坑。
    k8s相关端口表-以及周边工具
    基于Helm和Operator的K8S应用管理的分享
    iptables -F 与 -X 区别
    ansible批量免秘登录
    keepalived工作原理和配置说明
    k8s使用nfs动态存储(已测试成功)
    ansible-playbook快速入门填坑
    Service Account和其secrets 作用和场景,看了不亏。。
    kubectl管理多个k8s集群
  • 原文地址:https://www.cnblogs.com/zyn0216/p/8183802.html
Copyright © 2011-2022 走看看