工厂模式:该模式是将简单工厂模式中的工厂作为一个基类(接口),当需要创建的产品(具体子类实例)增加时,不修改原工厂的创建方法,而是增加一个具体工厂子类,由该子类去创建新增的产品,将产品子类的实例化延迟到工厂子类中。
cs
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("安卓手机");
}
}
这是工厂的实现
cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public interface IFactory
{
Phone Creat();
}
public class IPhoneFactory : IFactory
{
public Phone Creat()
{
return new IPhone();
}
}
public class AZPhoneFactory : IFactory
{
public Phone Creat()
{
return new AZPhone();
}
}
优点:降低了耦合性,只需要知道要什么产品,不用管创建过程;
更易于扩展;
缺点:代码复杂度提高