一、什麼是抽象工廠模式
抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的。抽象工廠模式可以向客戶端提供乙個藉口,使得客戶端在不必指定產品的具體型別的情況下,能夠建立多個產品族的產品物件。
fruit介面
publicinte***ce
fruit
publicabstract
fruit
banana抽象類
publicabstract
class banana implements
fruit
fruitfactory工廠類
publicinte***ce
fruitfactory
northfruitfactory南方工廠
publicclass northfruitfactory implements
fruitfactory
public
fruit getbanana()
}
southfruitfactory工廠類
publicclass southfruitfactory implements
fruitfactory
public
fruit getbanana()
}
publicpublic
void
get()
}
northbanana北方香蕉
publicclass northbanana extends
banana
}
publicpublic
void
get()
}
southbanana 南方香蕉
publicclass southbanana extends
banana
}
如果我們增加乙個新的溫室系列產品則只需要新增
wenshifruitfactory 溫室工廠
publicclass wenshifruitfactory implements
fruitfactory
public
fruit getbanana()
}
publicpublic
void
get()
}
wenshibanana 溫室香蕉
publicclass wenshibanana extends
banana
}
測試類mainclass
publicclass
mainclass
}
二、模式中包含的角色及其職責
1.抽象工廠(creator)角色
抽象工廠模式的核心,包含對多個產品結構的宣告,任何工廠類都必須實現這個介面。
2.具體工廠( concrete creator)角色
具體工廠類是抽象工廠的乙個實現,負責例項化某個產品族中的產品物件。
3.抽象(product)角色
抽象模式所建立的所有物件的父類,它負責描述所有例項所共有的公共介面。
4.具體產品(concrete product)角色
抽象模式所建立的具體例項物件
總結:抽象工廠中方法對應產品結構,具體工廠對應產品族。
java設計模式之抽象工廠模式
以肯德基麥當勞為例 解析抽象的工廠模式,以下是 的實現 第乙個介面 hb 建立漢堡的工廠 package com.factory.hb hb 漢堡 author lx public inte ce factoryhb 第乙個實現類 肯德基的漢堡 package com.imple.hb import...
Java設計模式之抽象工廠模式
上兩篇講解了簡單工廠模式和工廠方法模式,下面講解工廠模式的最後乙個抽象工廠模式 隨著客戶的要求越來越高,寶馬車需要不同配置的空調和發動機等配件。於是這個工廠開始生產空調和發動機,用來組裝汽車。這時候工廠有兩個系列的產品 空調和發動機。寶馬320li系列配置a型號空調和a型號發動機,寶馬520li系列...
JAVA設計模式之抽象工廠模式
抽象工廠模式 產品類 發動機以及型號 public inte ce engine public class enginea extends engine public class enginebextends engine 空調以及型號 public inte ce aircondition pub...