分享

简单工厂模式

 头号码甲 2020-07-20

概念

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

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多