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

      

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

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

  • 相关阅读:
    SCA与spring集成(在spring中开发SOA)
    jdbc 预编译处理 和spring返回自增主键值
    JavaScript异步编程__“回调地狱”的一些解决方案
    高性能滚动 scroll 及页面渲染优化
    程序员如何学习英语
    基于JavaScript实现验证码功能
    HTML上传文件的多种方式
    WEB前端开发规范文档
    JavaScript跨域总结与解决办法
    学习使用:before和:after伪元素
  • 原文地址:https://www.cnblogs.com/ciade/p/5095201.html
Copyright © 2011-2022 走看看