ps:第二篇學習部落格,堅持就是勝利。
繼續設計模式的學習,記錄工廠模式,加深自己的理解。
基本結構
abstractproduct:用來定義基本的商品的抽象
public
abstract
class ******abstractphone
product:用來實現抽象商品,生成各種商品
public
class
******android
extends
******abstractphone
}
public
class
******ios
extends
******abstractphone
}
public
class
******windowphone
extends
******abstractphone
}
factory:作用是內部包含生成實際商品的邏輯**,提供給外部呼叫生成各種商品。
public
class ******phonefactory else
if(name.equals("ios"))else
if(name.equals("windowphone"))
return phone;
}}
main方法呼叫:
public
static
void
main(string args)
//工廠模式測試方法
private
static
void
testfactory()
輸出結果:
開啟android手機
開啟ios手機
開啟wp手機
避免了每乙個物件都直接去new,而是直接交給工廠類去建立。但是由於在工廠方法裡存在判斷,是硬編碼,需要明確知道每乙個物件的建立條件。 工廠方法模式 工廠方法模式
工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...
設計模式 簡單工廠 工廠方法 抽象工廠方法模式
簡介 工廠方法模式分為 簡單工廠模式 工廠方法模式 抽象工廠方法模式 簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法 static factory method 模式,但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的實 uml圖示例 public class ...
簡單工廠模式 工廠方法模式
在實際應用中,我們可以考慮使用封裝 繼承 多型把程式的耦合度降低。1.簡單工廠模式 例子 寫乙個計算器模擬程式 思路 將業務進行封裝,並且進行松耦合,即不同的運算類之間互相不影響,可考慮通過繼承乙個類或者實現乙個介面 類operation,定義計算的統一介面 package smplefactory...