初學抽象工廠模式

2021-09-19 13:20:06 字數 2217 閱讀 9240

聯想、蘋果、華為 三個品牌

每個品牌下有:

電腦、電視、音箱 三種類別電器

步驟及思路:

簡單工廠:將工廠建立邏輯寫入工廠類內部,直接呼叫工廠類。

根據請求引數不同建立不同工廠物件。

抽象工廠:

1、抽象工廠介面提供可供外部呼叫的介面,如:當前有三種電器則需要 電腦、電視、音箱三種介面。

抽象工廠**:

2、抽象工廠的實現,實現抽象工廠介面,並實現其中的方法,當前有三個品牌 聯想、蘋果、華為 那麼此時需要三個工廠的實現。

3、建立類別抽象 電腦、電視、音箱 三個介面,每個介面有各自抽象方法,如電腦有:啟動、辦公、遊戲。

4、建立類別的實現,實現抽象方法。

5、呼叫介面:如:需要華為電腦則首先建立華為工廠實現,呼叫華為電腦的介面,然後可以自行選擇啟動方法,還是辦公或者遊戲方法。

抽象工廠介面提供可供外部呼叫的介面,如:當前有三種電器則需要 電腦、電視、音箱三種介面。

抽象工廠**:

package electric;

import electric.abstrproduct.productclass.icomputer;

import electric.abstrproduct.productclass.isound;

import electric.abstrproduct.productclass.itelevision;

/** * 工廠的抽象

* * 使用電器作為例子

* 工廠類首先篩選有哪些一級大類

* 品牌:聯想、戴爾、華為、蘋果

*/public inte***ce ifactory

抽象工廠的實現,實現抽象工廠介面,並實現其中的方法,當前有三個品牌 聯想、蘋果、華為 那麼此時需要三個工廠的實現。

取其中乙個為例:

package electric;

import electric.abstrproduct.productclass.*;

/** * 華為生產工廠

*/public class hwfactory implements ifactory

/*** 生產音箱

* @return

*/@override

public isound sound()

/*** 生產電腦

* @return

*/@override

public icomputer computer()

}

建立類別抽象 電腦、電視、音箱 三個介面,每個介面有各自抽象方法,如電腦有:啟動、辦公、遊戲

取其中乙個為例

package electric.abstrproduct.productclass;

/** * 產品抽象將品牌下電器種類抽象

* 如:聯想、蘋果等都電腦、電視、音響

* 他們所擁有的功能

*//**

* 電腦類抽象

*/public inte***ce icomputer

建立類別的實現,實現抽象方法。

取乙個為例:

package electric.abstrproduct.productclass;

/** * 華為電腦

*/public class hwcomputer implements icomputer

/*** 華為電腦辦公

*/@override

public void work()

/*** 華為電腦打遊戲

*/@override

public void playthegame()

}

呼叫介面:如:需要華為電腦則首先建立華為工廠實現,呼叫華為電腦的介面,然後可以自行選擇啟動方法,還是辦公或者遊戲方法。

package electric;

import electric.abstrproduct.productclass.icomputer;

import electric.abstrproduct.productclass.isound;

import electric.abstrproduct.productclass.itelevision;

/** * 呼叫工廠

*/public class main

}

抽象工廠模式 抽象工廠模式

抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...

工廠模式 抽象工廠模式

這裡使用簡單的話來講解工廠模式,不涉及程式設計 什麼是工廠模式呢?我的理解是對抽象介面例項的封裝。假如有乙個介面,有若干的實現類,代表不同的例項。傳統產生物件的方法是直接new乙個出來,對於每個例項都要new,當實現介面的類較多時會很麻煩,並且類的實現也暴露出來了。工廠模式是一種產生物件的模式,使用...

工廠模式 抽象工廠模式

子類父類代換 場景 在不同的條件下,需要建立不同的實現子類時。如網路通訊可以使用tcp udp。可以實現同乙個介面,通過工廠類根據條件 tcp或udp 來例項化不同的子類。這些子類符合黎克特制代換原則。public inte ce tlprotocol public class tcpimpleme...