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();
    	}
    }
    

      

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

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

  • 相关阅读:
    MFC和Qt优缺点 (MFC几乎没有优点、全面下风)
    获得WIN7管理员权限(可通过修改注册表,或者组策略改变)
    tolua#是Unity静态绑定lua的一个解决方案
    C#实现拼图游戏
    FastDFS分布式文件系统
    生成动态Lambda表达式1
    Azure IoT
    SignalR
    延迟队列功能
    监控知识体系
  • 原文地址:https://www.cnblogs.com/ciade/p/5095201.html
Copyright © 2011-2022 走看看