模板方法模式就是将一些固定顺序调用的逻辑提取出来,只需要关注这些顺序中的每个点就可以了。
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();
}
}这里举了一个很好的例子,哈哈哈,这是一个穿鞋子的故事,人之常情都是先穿袜子再穿鞋子的吧!没有先传鞋子的吧???这样就可以整合起来了,穿袜子先调用,穿鞋子再调用。穿什么袜子和鞋子具体在实现类去实现,在实现类中就不用关心穿袜子先还是穿鞋子先了,增加了代码的重用型。