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