ps:一天乙個設計模式複習,下了個怪怪的staruml,類圖有所區別,僅供自己溫習把。
工廠方法模式結構類圖如圖1.1所示(圖中圓圈代表介面)
工廠模式是簡單工廠模式的進一步抽象和推廣。在工廠模式中,核心的工廠類不再負責所有產品的建立,而是將具體的建立工作交給子類去做。例如現實生活中的手機工廠,華為生產華為手機,魅族生產魅族手機,那麼抽象層的公司生產抽象的手機,具體的手機公司就生產具體品牌的手機。
某手機廠專為各知名手機機品牌代工生產各種手機,當需要華為機時只需要呼叫該工廠的工廠方法時傳入引數huawei,需要魅族時只需要傳入引數meizu.
(1)抽象產品類phone
public
inte***ce phone
(2)具體產品類huawei,meizu
public
class
huawei
implements
phone
}
public
class
meizu
implements
phone
}
(3)抽象工廠類
public
inte***ce phonefactory
(4)具體工廠類
public
class
huaweifactory
implements
phonefactory
}
public
class
meizufactory
implements
phonefactory
}
(5)客戶端測試類client
public
class client
}
(6)工具類–用於獲取工廠例項物件
public
class
xmlutil
}
(7)配置檔案config.xml
設計模式 工廠模式 抽象工廠模式
建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...
設計模式 工廠設計模式
用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...
設計模式 工廠設計模式
工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...