国外知名设计网站大全,企业网站建设时间表,做ppt用的音效网站,红灰搭配网站模板抽象工厂模式#xff1a;该模式是对工厂模式的拓展#xff0c;因为工厂模式中创建的产品都需要继承自同一个父类或接口#xff0c;创建的产品类型相同#xff0c;无法创建其他类型产品#xff0c;所以抽象工厂模式对其进行拓展#xff0c;使其可以创建其他类型的产品。
…抽象工厂模式该模式是对工厂模式的拓展因为工厂模式中创建的产品都需要继承自同一个父类或接口创建的产品类型相同无法创建其他类型产品所以抽象工厂模式对其进行拓展使其可以创建其他类型的产品。
手机产品
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public interface Phone
{void Name();
}public class IPhone : Phone
{public void Name(){Debug.Log(苹果手机);}
}public class AZPhone : Phone
{public void Name(){Debug.Log(安卓手机);}
}Pad产品
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public interface Pad
{void Name();
}public class IPad : Pad
{public void Name(){Debug.Log(苹果Pad);}
}public class AZPad : Pad
{public void Name(){Debug.Log(安卓Pad);}
}
工厂
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public interface IFactory
{Phone Creat();Pad creatPad();
}public class IPhoneFactory : IFactory
{public Phone Creat(){return new IPhone();}public Pad creatPad(){return new IPad();}
}public class AZPhoneFactory : IFactory
{public Phone Creat(){return new AZPhone();}public Pad creatPad(){return new AZPad();}
}
优点创建的产品种类不单一
缺点当新增一大类产品时需要修改工厂脚本违反开闭原则