模板方法模式实例

模板方法模式就是将一些固定顺序调用的逻辑提取出来,只需要关注这些顺序中的每个点就可以了。

public abstract class ILogic {
    public void ChuanFoot()
    {
        this.ChuanWaZi();
        this.ChuanXiezi();
    }

    protected abstract void ChuanWaZi();
    protected abstract void ChuanXiezi();
}
using UnityEngine;

public class Hua : ILogic
{
    protected override void ChuanWaZi()
    {
        Debug.Log("穿花袜子");
    }

    protected override void ChuanXiezi()
    {
        Debug.Log("穿黑皮鞋");
    }
}
using UnityEngine;

public class GreenWaZi : ILogic
{
    protected override void ChuanWaZi()
    {
        Debug.Log("穿绿袜子");
    }

    protected override void ChuanXiezi()
    {
        Debug.Log("穿花鞋子");
    }
}
using UnityEngine;

public class testMoban : MonoBehaviour {
    
	void Start () {
        Hua hua = new Hua();
        hua.ChuanFoot();
        GreenWaZi green = new GreenWaZi();
        green.ChuanFoot();
	}
}

这里举了一个很好的例子,哈哈哈,这是一个穿鞋子的故事,人之常情都是先穿袜子再穿鞋子的吧!没有先传鞋子的吧???这样就可以整合起来了,穿袜子先调用,穿鞋子再调用。穿什么袜子和鞋子具体在实现类去实现,在实现类中就不用关心穿袜子先还是穿鞋子先了,增加了代码的重用型。


首页 我的博客
粤ICP备17103704号