抽象工廠模式:提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類
下面是乙個解釋抽象工廠的小例子,定義了三類產品,分別為fruit,elecproduct,traffic以及它們各自的產品
首先是fruit
然後是elecproduct
package com.lamp.factory.abstractfactory;
public abstract class elecproduct
package com.lamp.factory.abstractfactory;
public class computer extends elecproduct
}package com.lamp.factory.abstractfactory;
public class mobile extends elecproduct
}
最後是traffic
package com.lamp.factory.abstractfactory;
public abstract class traffic
package com.lamp.factory.abstractfactory;
public class plane extends traffic
}package com.lamp.factory.abstractfactory;
public class car extends traffic
}
接著定義了乙個總的抽象工廠,生產三類產品,具體生產的產品由其工廠類去決定
package com.lamp.factory.abstractfactory;
public abstract class myabstractfactory
第乙個工廠類為defaultfactory
另乙個工廠類為newfactory
package com.lamp.factory.abstractfactory;
/***
* 新工廠生產的是plane,mobile,banana**/
public class newfactory extends myabstractfactory
@override
public elecproduct createelecproduct()
@override
public fruit createfruit()
}
最後進行測試
package com.lamp.factory.abstractfactory;
/***
* 抽象工廠的優點在於當你的工廠發生改變的時候,其不同型別對應的產品也會自動發生改變,就像常見的換膚效果
* 而且對已經存在的產品型別新增產品的時候也方便
* 當然如果要新增新的產品型別,這時需要在總的抽象工廠中新增新的型別以及在相應工廠中做相應修改,這也是抽象
* 工廠不足的地方**/
public class test
}
java抽象工廠模式
抽象工廠模式 英語 abstract factory pattern 是一種軟體開發 設計模式 抽象工廠模式提供了一種方式,可以將一組具有同一主題的單獨的 工廠封裝起來。在正常使用中,客戶端程式需要建立抽象工廠的具體實現,然後使用抽象工廠作為 介面來建立這一主題的具體物件。客戶端程式不需要知道 或關...
java 抽象工廠模式
依然是簡單工廠模式中的印表機案例,不過這裡把工廠設計成介面,讓不同的工廠生產不同的印表機,再抽象出乙個生產工廠的工廠 印表機介面 package com.meteor.design pattern.abstract factory created by meteor on 2016 3 27.pub...
Java 抽象工廠模式
約定不同實體類的行為介面 定義實現介面的實體類 定義抽象工廠類用於獲取具體工廠生產類 定義繼承自抽象工廠類的具體工廠類 定義乙個工廠創造器 生成器類用來獲取具體工廠 呼叫創造器 生成器類用於生產 約定介面 package abstractfactory public inte ce color pa...