zoukankan      html  css  js  c++  java
  • 01.创建型————简单工厂模式

    package Create.a.SimpleFactory;
    
    //业务接口 public interface Salary { void calcSalary(); }

      

    package Create.a.SimpleFactory;
    
    //业务实现类 public class HeBeiSalary implements Salary { @Override public void calcSalary() { // TODO Auto-generated method stub System.out.println("开始计算河北子公司的薪资!"); } }

      

    package Create.a.SimpleFactory;
    
    //业务实现类
    public class GuangDongSalary implements Salary {
    
    	@Override
    	public void calcSalary() {
    		// TODO Auto-generated method stub
    		System.out.println("开始计算广东子公司的薪资!");
    	}
    
    }
    

      

    package Create.a.SimpleFactory;
    
    
    //工厂类
    public class SimpleFactory {
            
    	public static Salary createSalary(String name){
    		if(name.equals("HeBei")){
    			return new HeBeiSalary();
    		}
    		if(name.equals("GD")){
    			return new GuangDongSalary();
    		}
    		return null;
    		
    	}
        
    
    }
    
    
    如果后期需求需要变更时,即需要变动if条件内容
    

      

    package Create.a.SimpleFactory;
    
    //业务调用类
    public class Client {
    	public static void main(String[] args) {
    		Salary sa = SimpleFactory.createSalary("HeBei");
    		sa.calcSalary();
    		sa = SimpleFactory.createSalary("GD");
    		sa.calcSalary();
    	}
    }
    

      优点:在简单工厂模式中,客户端不再负责对象的创建,而是把这个任务丢给工厂类,客户端只负责对对象实例的调用

         缺点:无法继承,变更需求时需要不断修改工厂类的判断逻辑

  • 相关阅读:
    abcde =(ab+cd)的平方
    求水仙花数
    VS2019 开发 MFC ACtivex (OCX)控件
    简单体验pdfjs,并且隐藏下载、打印等按钮
    体验win10的linux子系统
    nodejs 连接 mysql 查询事务处理
    Linux系統日常運維管理
    hexo豆瓣卡片安裝遇到的坑
    ZooKeeper 是什么与概述,典型用例
    K8S_Kubernetes
  • 原文地址:https://www.cnblogs.com/ciade/p/5095187.html
Copyright © 2011-2022 走看看