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

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

     缺点:没法继承,变动需求时须要不断修改工厂类的判断逻辑ide

相关文章
相关标签/搜索