結構
factory(工廠角色):工廠角色即工廠類,它是簡單工廠模式的核心,負責實現建立所有產品例項的內部邏輯;工廠類可以被外界直接呼叫,建立所需的產品物件;在工廠類中提供了靜態的工廠方法factorymethod(),它的返回示例為抽象產品型別procut。
product(抽象產品角色):它是工廠類建立的所有物件的父類,封裝了各種產品物件的共有方法,它的引入將提高系統的靈活性,使得在工廠類中只需定義乙個通用的工廠方法,因為所有建立的具體產品物件都是其子類物件。
concreteproduct(具體產品角色):它是簡單工廠模式的建立目標,所有被建立的物件都充當這個角色的某個具體類的例項。枚乙個具體產品角色都繼承了抽象產品角色,需要實現在抽象產品中申明的抽象方法。 **
抽象產品角色
public abstract class product
// 宣告抽象業務方法
public abstract void methoddiff();
}
具體產品a
public class concreteproducta extends product
}
具體產品b
public class concreteproductb extends product
}
工廠類
public class factory else if ("b".equalsignorecase(arg))
return product;
}}
客戶端呼叫
public class client
}
執行結果
concreteproducta -a
concreteproductb -b
擴充套件
新增具體產品類c
public class concreteproductc extends product
}
工廠類方法需要修改
public class factory else if ("b".equalsignorecase(arg)) else if ("c".equalsignorecase(arg))
return product;
}}
優/缺點與適用環境
優點
缺點
適用環境
01 簡單工廠模式
前言 設計模式方面,很多是多型模式的實現。多型涉及繼承和指標。簡單工程模式 有乙個工程類,可以根據輸入進行生產不同的物件指標。其 和執行結果如下 file car factory.h brief car factory author timeshark version 1.0 date 2018 0...
設計模式01 簡單工廠模式
using system using system.collections.generic using system.text namespace 簡單工廠模式 set public double numberb set 返回計算結果,這裡是虛擬的,讓不同的運算法則類來實現 public virtu...
設計模式01 簡單工廠
工廠模式屬於建立型模式,它的特點是 物件的建立及使用分離 使用者不需要操心物件的建立。簡單工廠模式不是標準的設計模式,但是由於編碼簡單,所以日常使用較多。api 乙個介面類,只有operator 乙個方法 impla與implb api介面類的實現類 apifactory 工廠類,通過傳入的型別分別...