算不上一个模式:只是为了方便编程
目前有这一个类,用于监听人物的动作
public interface IListenPerson
{
void OnPersonMove();
void OnPersonDown();
void OnPersonStop();
}
//如果现在我们要监听人物的移动
//我们必须如下实现
public class ListenPersonMove : IListenPerson
{
public void OnPersonMove()
{
Debug.Log("Person Is Move");
}
public void OnPersonDown()
{
}
public void OnPersonStop()
{
}
}
弊端:当我们只监听人物移动Move,或者人物停止Stop时,必须要实现其他的函数
此时有一个解决方案:构建一个适配器, 对我们开放Move或者Stop等, 对于监听接口IListenPerson开放所有的
/// <summary>
/// 适配器Adapter
/// </summary>
public abstract class ListenPersonAdapter : IListenPerson
{
public virtual void OnPersonMove(){}
public virtual void OnPersonDown(){}
public virtual void OnPersonStop(){}
}
public class PersonMoveListen : ListenPersonAdapter
{
public override void OnPersonMove()
{
base.OnPersonMove();
Debug.Log("Person Is Move");
}
}
Ps: 看起来好像更麻烦了。所以说还是那句话:设计模式对于不同情况应用不同。不能套用