概念 1.一个抽象父类,N 个实现类 2.一个工厂类, 负责生产 (new 对象) 简单工厂模式的优点: 1.实现了对象的创建和使用的分离 2.记住主要的参数即可,减少使用者的记忆量 缺点: 1.工厂类的职责过重,一旦不能工作,系统将受到影响 2.增加了类的个数,复杂度和理解度增加 3.违反了"开闭原则", 添加新的东东需要增加工厂逻辑,工厂会越来越复杂 具体代码如下: //枚举 Type 的类型 public enum PhoneType { XiaoMI, IPhone, HuaWei } //继承MonoBehaviour public class SingleFactory : MonoBehaviour { void Start () { Phone pe = PhoneFactory.CreatPhone(PhoneType.HuaWei); pe.Print(); } void Update () { } } // 一个抽象父类 public abstract class Phone { public abstract void Print(); } //小米实现类 public class XiaoMI : Phone { public override void Print() { Debug.Log("小米手机"); } } //苹果手机实现类 public class IPhone : Phone { public override void Print() { Debug.Log("苹果手机"); } } //华为手机实现类 public class HuaWei : Phone { public override void Print() { Debug.Log("华为手机"); } } //一个工厂类 public static class PhoneFactory { public static Phone CreatPhone(PhoneType type) { Phone phone = null; switch (type) { case PhoneType.XiaoMI: phone = new XiaoMI(); break; case PhoneType.IPhone: phone = new IPhone(); break; case PhoneType.HuaWei: phone = new HuaWei(); break; } return phone; } }
|
|