加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

无状态的状态机

发布时间:2021-02-25 16:11:48 所属栏目:传媒 来源:互联网
导读:何使用状态机都能有一个不一样的体会。 DSL 在介绍如何实现状态机之前,不妨让我们先来看一下什么是 DSL,在 Martin Fowler 的《Domain Specific Languages》书中。开篇就是以 State Machine 来作为引子介绍 DSL 的。有时间的话,强烈建议你去读读这本书。没

何使用状态机都能有一个不一样的体会。

DSL

在介绍如何实现状态机之前,不妨让我们先来看一下什么是 DSL,在 Martin Fowler 的《Domain Specific Languages》书中。开篇就是以 State Machine 来作为引子介绍 DSL 的。有时间的话,强烈建议你去读读这本书。没时间的话,看看下面的内容也能掌握个大概了。

下面就让我提炼一下书中的内容,带大家深入了解下 DSL。

什么是 DSL

DSL 是一种工具,它的核心价值在于,它提供了一种手段,可以更加清晰地就系统某部分的意图进行沟通。

这种清晰并非只是审美追求。一段代码越容易看懂,就越容易发现错误,也就越容易对系统进行修改。因此,我们鼓励变量名要有意义,文档要写清楚,代码结构要写清晰。基于同样的理由,我们应该也鼓励采用 DSL。

按照定义来说,DSL 是针对某一特定领域,具有受限表达性的一种计算机程序设计语言。这一定义包含 3 个关键元素:

  • 语言性(language nature):DSL 是一种程序设计语言,因此它必须具备连贯的表达能力——不管是一个表达式还是多个表达式组合在一起。
  • 受限的表达性(limited expressiveness):通用程序设计语言提供广泛的能力:支持各种数据、控制,以及抽象结构。这些能力很有用,但也会让语言难于学习和使用。DSL 只支持特定领域所需要特性的最小集。使用 DSL,无法构建一个完整的系统,相反,却可以解决系统某一方面的问题。
  • 针对领域(domain focus):只有在一个明确的小领域下,这种

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读