简单工厂模式

概念

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;
    }
}

 

posted @ 2018-11-15 14:34  TheBoy_24  阅读(189)  评论(0编辑  收藏  举报