zoukankan      html  css  js  c++  java
  • 02.创建型————工厂方法模式

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

      

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

      

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

      

    package Create.b.FactoryMethod;
    
    //工厂接口
    public interface Factory {
    	Salary createSalary();
    }
    

      

    package Create.b.FactoryMethod;
    
    //业务实现类工厂类
    public class HeBeiFactory implements Factory {
    
    	@Override
    	public Salary createSalary() {
    		// TODO Auto-generated method stub
    		return new HeBeiSalary();
    	}
    
    }
    

      

    package Create.b.FactoryMethod;
    
    
    //业务实现类工厂类
    public class GuangDongFactory implements Factory{
    
    	@Override
    	public Salary createSalary() {
    		// TODO Auto-generated method stub
    		return new GuangDongSalary();
    	}
    
    }
    

      

    package Create.b.FactoryMethod;
    
    
    //业务调用类
    public class Client {
    	public static void main(String[] args) {
    		Factory fa = new HeBeiFactory();
    		Salary sa = fa.createSalary();
    		sa.calcSalary();
    		
    		fa = new GuangDongFactory();
    		sa = fa.createSalary();
    		sa.calcSalary();
    	}
    }
    

      

    优点:每个实现类均有对象的工厂类

    缺点:如果有新的实现类则需要添加新的工厂类,添加编写代码工作量

  • 相关阅读:
    Jquery事件
    基础:装箱和拆箱...
    navicat编辑表的作用
    谷歌浏览器preview展示问题
    @Scheduled并行执行
    spring异步执行方法线程池的配置
    dubbo的ExceptionFilter异常处理
    dubbo异常处理
    idea设置启动jvm参数
    前后端分离走本地代码Charles的使用
  • 原文地址:https://www.cnblogs.com/ciade/p/5095201.html
Copyright © 2011-2022 走看看