《领域特定语言》一第3章 实现DSL 3.1DSL处理之架构
第3章 实现DSL
至此,对于什么是DSL,以及为何要用DSL,我们已经透彻理解。如果要开始构建DSL,那么现在该深入研究所用的技术了。虽然构建内部DSL和外部DSL所用的技术有所不同,但它们还是有一些共通之处的。本章主要关注内部DSL和外部DSL的一些共通问题,而下一章再讨论各自具体的问题。本章先不谈语言工作台,留待后续探讨。
3.1DSL处理之架构
关于DSL实现的大体结构(见图3-1),也就是所谓的DSL系统架构─可能是我们要谈论的最重要的内容之一。
迄今为止,你应该已经厌倦了听我说了无数次的“DSL是模型上面薄薄的一层结构”。这里所说的“模型”,称为“语义模型”(第11章)模式。这个模式背后的概念是:所有重要的语义行为都可以在模型中捕获,而DSL的任务就是通过解析来填充模型。所以,根据我的理解,语义模型在DSL中扮演着核心角色─事

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
IO, IO分析,这就是我们的全部工作:Nimble架构师谈闪存存储测试
双峰IO分布成为确切了解阵列性能水平的理想途径。 Nimble公司表示,基准测试应当将双模式纳入考量。 我们采访了Dimitris KrekoukiasNimbe Storage公司全球技术与策略架构师,旨在共同探讨存储阵列性能方面的议题——他对此有着一些强烈的个人观点,特别是关于Pure Storage的性能实现方案。 Pure 公司对于Krekoukias的观点给出了响应,这部分内容亦被添加到本次采访当中。双方的思路都认为,单纯的IO水平并不足以适应全部性能特性需求。 记者:首先请您谈谈存储阵列性能的相关要求。 Dimitris Krekoukias:存储性能(或者其它任意性能指标)被市场宣传所过分夸大了。有时候营销人员会对其过分夸张地加以宣传,并将现实与数学计算相扭曲,从而让结论更加可信。 案例分析:Pure Storage公司给出的并非其32 KB数据块下的平均存储I/O,而是表示其阵列能够在32 KB I/O大小下提供高性能表现。 记者:您能不能具体加以解释? Dimitris Krekoukias:平均数值其实是一种最为基本的平均性能误导方式:一台超级跑车的平均时速为60英...
- 下一篇
遗留应用救星:VMware vMSC构建更灵活的数据中心
大多数企业一直在寻求实现更高等级的应用及服务可用性。随着技术不断成熟以及客户服务成为我们日常生活中的一部分,人们希望在任何时间、任何地点都能够访问相应的应用与服务。 这一任务不是那么简单,因为必须要满足相应的服务级别协议(SLA)。SLA是IT部门与业务部门或企业与用户之间的一种度量方式。不同的SLA意味着不同的后果,有些还可能还涉及到财务。 有一些设计及架构,包括构建分布式应用、实现应用的负载均衡,都能够增加应用、服务或数据中心的可用性。在架构层,我们不希望计算、网络以及存储层存在任何的单点故障。 遗留应用提出了新问题 问题在于我们要应对的企业应用或内部开发应用,通常并未使用分布式的Web扩展模式。这些应用在十几年前就已经上线运行了,其架构关注于增加单个存储阵列的正常运行时间。如果阵列出故障,那么需要花很长时间应用才能恢复运行。 现在,业务以及用户的期望与之前存在显著的差异。出现故障时谁都不希望等很长时间。问题棘手之处在于仍旧要应对这些遗留应用并应对存储可能会出现的故障。 IT专业人士总在争论将遗留应用迁移到云中无法解决上述问题。这可能会降低应用的可用性,因为云中的大多数基础设施被设...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS关闭SELinux安全模块
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范