适配器模式

算不上一个模式:只是为了方便编程
目前有这一个类,用于监听人物的动作

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: 看起来好像更麻烦了。所以说还是那句话:设计模式对于不同情况应用不同。不能套用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值