工廠方法模式是類的建立模式,其用意是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類中。
抽象工廠角色:任何在模式中建立的物件的工廠類必須實現這個介面。
具體工廠角色:這是實現抽象工廠介面的具體工廠類。
抽象產品角色:工廠方法模式所建立的物件的超型別,也就是產品物件的共同父類或共同擁有的介面。
具體產品角色:這個角色實現了抽象產品角色所定義的介面。
using system;
using system.collections.generic;
using system.text;
namespace ******_factory
///
/// 具體類1
///
public class bulblight:light
public override void turnoff()
}///
/// 具體類2
///
public class tubelight:light
public override void turnoff()
}///
/// 抽象工廠類
///
public abstract class creator
///
/// 具體工廠類1
///
public class bulbcreator : creator
}///
/// 具體工廠類2
///
public class tubecreator : creator
}///
/// 客戶端
///
class factory_method
} 該模式便於擴充套件,如果想擴充套件只需要新增乙個實體類和乙個實體工廠即可。
工廠方法模式 工廠方法模式 二
工廠方法模式是對簡單工廠的進一步抽象和封裝,需要新的類物件時不需要對既有工廠類進行修改,而是增加新的工廠類。工程類可以使用模版進一步封裝,由編譯器來生成 從而減少 編寫工作量。工廠方法的 c 實現01part產品抽象基類class animal virtual void show 0 02part產...
工廠模式二 工廠方法模式
使用者只需要關心產品對應的工廠,不需要關心建立細節。例如貓和狗都屬於動物一類,都具有吃飯這個功能。先定義介面ianimal public inte ce ianimal實現介面ianimal介面cat類和dog類 public class cat implements ianimal public ...
工廠方法模式 工廠方法模式
工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...