解释器

作者: Qkuang | 来源:发表于2020-01-14 17:55 被阅读0次

    IFramework所有模块总目录

    简介

    就是对“解释” 进行了一层封装。 实际的“解释” 代码还是需要自己写!

    解释器使用

    代码如下:

    using UnityEngine;
    using IFramework;
    
    // 实现解释器的接口
    public class TestExplain : MonoBehaviour,IExplainer<string,int>
    {
        // 逆向解释
        public string ExplainToT(int v, IEventArgs arg, params object[] param)
        {
            return v.ToString();
        }
        //顺向解释
        public int ExplainToV(string t, IEventArgs arg, params object[] param)
        {
            return int.Parse(t);
        }
    
        void Start()
        {
            // 通过全局访问点 获取当 string int 类型解释器 。string 类型进行解释。
           Debug.Log(Explanation<string, int>.CreateInstance().SetExplainer(new TestExplain()).Explain("666", null)) ;
           Debug.Log(Explanation<string, int>.CreateInstance().SetExplainer(new TestExplain()).Explain("666", null).GetType()) ;
    
        }
    
       
    }
    

    输出结果

    image.png

    代码扩展使用思路

    根据解释器模式的的定义,主要将一种“物”解释成为另外一种“物” 。“物”的外形发生改变,而含义未变。

    比如:序列化、表格、数据库 的转化。

    • 我们只要将 转化器实现 IExplainer接口。就可以直接寻找 Explanation获取转化,虽然转化的代码仍然是自己写的。

    • 若实现:IExplainer接口,表明该类型支持转化。

    结尾

    以上内容是 作者个人的理解,如有错误,欢迎指出。
    顺便给出OnClick大佬自己 写的文档地址:006 解释器
    如果对 IF框架有其他看法,也欢迎大家 进群交流。

    相关文章

      网友评论

          本文标题:解释器

          本文链接:https://www.haomeiwen.com/subject/cgpaactx.html