公司最新打算立一个新项目,会大量重复使用一个方法,但是不同的表现方式,觉得需要用到简单工厂模式,就看了下。有什么不对的地方欢迎批评。
public class Product : MonoBehaviour {
/// <summary>
/// 简单工厂模式
/// 定义一个共同接口,创建不同的对象,简化创建过程,创建与表示分离
/// </summary>
// Use this for initialization
void Start () {
//根据不同的条件选择不同的攻击方式
SimpleFactory.CreateAttack(2).Attack();
}
// Update is called once per frame
void Update () {
}
/// <summary>
/// 举例:游戏中根据不同的攻击范围选择不同的攻击武器
/// </summary>
public interface IWeapons//武器接口
{
void Attack();
}
public class WeaponsFirst : IWeapons
{
public virtual void Attack()
{
Debug.Log("刀");
}
}
public class WeaponsSecond : IWeapons
{
public virtual void Attack()
{
Debug.Log("机枪");
}
}
///简单工厂管理
public class SimpleFactory
{
public static IWeapons CreateAttack(int idx)
{
switch (idx)
{
case 1:
return new WeaponsFirst();
case 2:
return new WeaponsSecond();
default:
return null;
}
}
}
}