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

  

優勢:每一個實現類均有對象的工廠類java

缺點:若是有新的實現類則須要添加新的工廠類,添加編寫代碼工做量ide

相關文章
相關標籤/搜索