模式二(工廠方法模式)

2021-05-23 07:26:26 字數 932 閱讀 8023

工廠方法模式是類的建立模式,其用意是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類中。

抽象工廠角色:任何在模式中建立的物件的工廠類必須實現這個介面。

具體工廠角色:這是實現抽象工廠介面的具體工廠類。

抽象產品角色:工廠方法模式所建立的物件的超型別,也就是產品物件的共同父類或共同擁有的介面。

具體產品角色:這個角色實現了抽象產品角色所定義的介面。

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...