zoukankan      html  css  js  c++  java
  • 设计模式课程 设计模式精讲 20-1 解释器模式讲解


    1    课程讲解

    1.0  频次

    1.1  类型:

    1.2  定义:

    1.3  适用场景:

    1.4  优点:

    1.5  缺点:

    1.6  其他特性:

    1.7  与其他设计模式关系:


    1    课程讲解
    1.0  频次:

    使用频次很低,理解就可以,重点关注其他的设计模式

    1.1  类型:

    行为型

    1.2  定义:

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

    扩展:

    为了解释一种语言,而为语言创建的解释器

    1.3  适用场景:

    某个特定类型问题发生频率足够高

    扩展:比如日常,用脚本语言或者编程语言。在处理日志的时候。我们有很多服务,每个服务呢,都会产生大量的日志。

    我们需要对日志进行解析,从而做一些报表。服务的日志格式又不一样,但是数据里面的要素呢是相同的,所以在这种情况下。我们就可以通过该设计模式来解决该问题。可以解释不同的日志格式。

    1.4  优点:

    ◆语法由很多类表示,容易改变及扩展此“语言”

    1.5  缺点:

    ◆当语法规则数目太多时,增加了系统复杂度

    扩展:每一个规则都要写一个类,规则太多,则类太多,系统的复杂度自然提高。

    1.6  其他特性:

    解释器一般使用开源工具解析包,例如Expression4J,JEP和MESP,

    1.7  与其他设计模式关系:

    ◆解释器模式和适配器模式

    后者不需要预先知道要适配的规则,解释器需要预先把规则写好,根据规则执行解释。

  • 相关阅读:
    python-装饰器
    Django-session相关操作+redis
    Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。redis启动失败
    mybatis高级特性
    Elasticsearch从入门到熟练使用
    sharding-jdbc从入门到熟练使用
    mysql主从复制搭建(普通安装和docker方式)
    领域驱动设计入门及简单落地
    docker的一些基本命令
    docker发布jar包项目
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/12310586.html
Copyright © 2011-2022 走看看