工廠模式

工廠模式:

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

  • 詳細分類

         簡單工廠模式

         工廠方法模式

         抽象工廠模式

面向對象設計的基本原則:

  • (1).OCP (開閉原則Open-closed Principle):一個軟件的實體應當對擴展開放,對修改關閉。
  • (2)DIP  (依賴倒轉原則,Dependence Inversion Principle):要針對接口編程,不要針對實現編程
  • (3)LOD (迪米特法則 ,Law of Demeter):只與你直接的朋友通信,而避免和陌生人通信

工廠模式核心本質:

         實例化對象,用工廠方法代替new操作

         將選擇實現類,創建對象統一管理和控制,從而將調用者跟我們實現類解耦。

簡單工廠模式核心要點:

         簡單工廠模式也叫靜態工廠模式,工廠類一般使用靜態方法,通過接受參數的不同來返回不同的對象實例。

         對於新增加的產品無能爲力,不修改代碼,無法擴展       

簡單工廠模式實現案例:

//簡單工廠模式
public interface Car {
	void run();
}
public class Byd implements Car {

	@Override
	public void run() {
		System.out.println("比亞迪再跑!");
	}
}
public class Audi implements Car {

	@Override
	public void run() {
		System.out.println("奧迪再跑!");
	}
}
/**
 * 簡單工廠類
 */
public class CarFactory2 {
	
	public static  Car createAudi(){
		return new Audi();
	}
	public static  Car createByd(){
		return new Byd();
	}
}

   沒有工廠模式下調用

/**
 * 測試在沒有工廠模式的情況下
 */
public class Client01 {   //調用者
	public static void main(String[] args) {
		Car c1 = new Audi();
		Car c2 = new Byd();
		
		c1.run();
		c2.run();
    }
}

簡單工廠模式下調用

       

/**
 * 簡單工廠情況下
 */
public class Client02 {   //調用者
	
	public static void main(String[] args) {
		Car c1 =CarFactory.createCar("奧迪");
		Car c2 = CarFactory.createCar("比亞迪");
		
		c1.run();
		c2.run();
    }
}

 

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