iOS设计模式之解释器模式

157 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第19天,点击查看活动详情


设计模式相信大家都很熟悉了,但是越是基础的东西也越是需要经常的回顾与思考,于是着手写一个温故而知新的设计模式回顾系列。
在 8 月,准备把各个常用的不常用的设计模式都进行一次回顾,并大概聊一下各个模式的特点与在 iOS 中的大概使用场景与情况。

这里是设计模式回顾的第十九篇,解释器模式的相关回顾。

解释器模式

1、什么是解释器模式

给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。

解释器模式共有三种对象:

  1. 语言,即你输入的或者说需要翻译的部分是什么
  2. 文法,即你用什么方式、方法翻译改语言。
  3. 解释器对象,即该对象包括了多种文法,只需调用该对象进行解释

比如说常见的树的先序遍历、中序遍历、层次遍历、后序遍历等都可以用解释器模式实现。

2、解释器模式用在什么地方

  • 一个特定问题多次出现,且可以用某种方式翻译成想要的结果。

3、解释器模式的使用

  1. 定义解释器对象以及解释方法
  2. 实现对应的解释方法
  3. 调用

4、总结

解释器模式说是一种设计模式,但是在我看起来只是一类方法的实现而已,不过是树的遍历、四则运算亦或者是其他的语法解释,都只不过是方法的实现而已。

5、demo

class Explain: NSObject {
    func add(a :Double ,b :Double) -> Double {
        return a+b
    }
    func multiply(a :Double ,b :Double) -> Double {
        return a*b
    }
}

这里只是写两个简单的例子。了解一下什么是解释器就行。