工廠模式

實現了創建者和調用者的分離

面向對象設計的基本原則:
OCP-開閉原則  : 一個軟件實體應該對擴展開放,對修改關閉。
DIP-依賴倒轉原則 : 針對接口編程
LoD-迪米特法則 : 避免類與其它類發生關係(避免和陌生人通信)
 

public interface Car {
	void run();
}


public class Aodi implements Car {
	@Override
	public void run() {
		System.out.println("Aodi在跑!");
		
	}
}


public class Byd implements Car {
	@Override
	public void run() {
		System.out.println("BYD在跑!");
		
	}
}

 

1.簡單工廠模式:

也叫靜態工廠模式,通過接受參數不同來返回不同得對象實例。
對於增加新的產品,必須修改代碼,不然無法擴展。
 

public class CarFactory {
	public  static Car createCar(String type){
		if("奧迪".equals(type)){
			return new Aodi();
		}else if("比亞迪".equals(type)){
			return new Byd();
		}else{
			return null;
		}
	}
}


public class CarFactory02 {
	public  static Car createAodi(){
		return new Aodi();
	}
	
	public static Car createByd(){
		return new Byd();
	}
}

 

2.工廠方法模式
爲了避免簡單工廠的缺點,不滿足OCP模式
通過定義一個通用的工廠接口,創建新的實現類來更新產品。
 

public interface CarFactory {
	Car cerateCar();
}


public class AodiFactory implements CarFactory {

	@Override
	public Car cerateCar() {
		
		return new Aodi();
	}

}


public class BYDFactory implements CarFactory {

	@Override
	public Car cerateCar() {
		
		return new Byd();
	}

}

 

3.抽象工廠模式
用來生產不同產品族的全部產品。
不可以增加單個產品
https://blog.csdn.net/weixin_40423032/article/details/96479482

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章