DSL领域特定语言

     

Code rant: 从硬编码到可配置、规则引擎、低代码DSL的复杂性时钟

2400 2 2K
当我还是一个年轻的程序员,刚刚开始进入企业软件这个可怕的世界时,一个年长的、更有经验的小伙子对我在软件中硬编码hardcode的做法提出了严厉的警告。"硬编码会在某些时候被改变,你肯定不想为了改变某个.

j-easy/easy-rules: Java简单的规则引擎

2042 2K

Easy Rules 是一个简单而强大的 Java 规则引擎,提供以下功能: 轻量级框架和易于学习的 API 基于 POJO 的开发 有用的抽象来定义业务规则并轻松应用它们 从原始规则创建复合规则的能.

形式化方法无用? - Hillel

1109 1

许多程序员认为形式化方法是无用的,因为在软件中“规则就是代码”。如果您可以形式指定程序应该做什么,那么您需要拥有该程序!大多数有这种想法的人都不熟悉 "形式规则(形式规范、formal specifi.

软件工程令人不安的真相 • Buttondown

913

这里有一些我相信的关于软件工程的令人不安的事实!(banq:令人焦虑?) ... 具有特殊语法的复杂 DSL 可能是死胡同。Ruby 和 Scala 都非常重视这一点,但都没有让它流行起来。 如果没有.

荷兰还有媲美光刻机的软技术:组件建模和分析框架Comma为复杂软件提供了高可靠性 – Bits&Chips

2537 1 3K
“对于像我们这样的以软件为中心的复杂系统,更改,集成和测试它非常昂贵,尤其是在我们所处的军事领域,您可能必须进行实时射击试验才能真正验证系统,”诺尔特斯说,他是是位于Hengelo的公司的软件架构师,.

ANTLR入门:构建一种简单的表达语言 - tomassetti

1040

在本文中,我们将开始研究一种非常简单的表达语言。我们将在语言沙箱中构建它,因此我们将其称为语言Sandy。我认为工具支持对于一种语言至关重要:因此,我们将从一种非常简单的语言开始,但是我们将为此提供丰.

Kubernetes YAML不是而且从来没有声明式编程!- Archis Gore

3195 1

声明式基础结构的承诺使每个人都感到惊讶,“ 声明您想要的,而不用担心它会如何发生 ”,最终似乎最终陷入了半生熟的 冗长 笨拙的模板中。我们将“静态配置”与“声明式编程”混淆了,Kubernetes Y.

工作流程的微服务:使用F#DSL表达业务流程

2618 11K

我们在Jet上使用F#并且从一开始就是这样,这就是为什么在评估构建DSL(领域特定语言)的选项时,F#是一个领先者。当我们决定构建DSL时,我们需要确定DSL有哪些重要的特征: 编译时间验证:由于开发.

Spring创始人Rod大叔对YAML的真实想法

1899 2 4K

如果你在Twitter上关注我,你可能会认为我讨厌YAML。我不反对YAML,只是反对滥用 YAML。我想帮助防止人们滥用YAML并在此过程中无意对自己和同事施加了残忍。YAML的优势在于结构化数据格.

为什么要使用GraphQL和Falcor?

5838 1 6K

REST的JSON格式是现在流行的通讯数据格式,但是在Reactive运动如React.js等前端新技术的推动下,以及面向函数编程概念的普及,人们发现JSON已经不再满足需要了。GraphQL和Fal.

使用Builder模式的三个理由

3581 1

1.帮助你实现DDD聚合设计如果创建一个对象的属性是通过使用外部服务实现,这是比较容易,没有任何问题。但是,如果该属性是在创建该对象的同一个方法中来创建,那么就有了问题。在这后一种情况下,作为属性所创.

Java 8的内部DSL

5 9307 7 4K

DSL定义:Domain-specific language (名词,简称DSL): 是一种专注特定领域的有限表达法。Martin Fowler 认为DSL区别于通常语义上的领域模型,通过一些内部的D.

关于存储层总是放在底层的思考

7 1608

过去我们想到3层模型、领域分层,然后总想到存储层总放在底层,或许不是只是单单的存储层。这种思考定势是先入为主,还是自然习惯呢?这里我提出一种假设,若果存储层(数据库)只是一个页面,所有持久化都认为是一.

事件、契约设计与BDD

22 6724 8

最近看到@gameboyLV在一个讨论中提出将事件划分为嵌套事件,例如:事件:客户提款(异步命令)事件处理前:判断是否有足够的余额(同步命令)事件处理: 扣款(同步命令)事件处理后:发短信提醒客户。(.

梦工厂

6 3061 7

个人关注jdon有一年多了,在jdon网站上也学到了很多知识,同时也验证了一些自己的一些理论。jdon是一个不错的网站。在jdon论坛上学习和了解LMAX,rribbit(事件总线),Qi4j.

jdon框架优缺点之我见

5 5981 15

最近看了一下jdon框架的源码, 相比天天讨论ssh, jdon无疑是一股清风, 让人耳目一新.尤其是性能方面, 令我心旷神怡.我觉得jdon的优点如下:1. 异步消息, 亮点啊. 我打算把这套东西移.

DCI的Contex创建时注入request对象

1 1531 1

CDI的Contex创建时是否应该注入 request对象?比如:app.get(function(req,res){ var cxt = new MyContext(req,user); cxt.

WebDSL 新的DSL语言

1932 1

WebDSL.orgWebDSL是一个用于Web开发的DSL语言,从语言结构上看,比较简单,看上去是HTML和javascript结合产物,语言结构分:实体对象定义;对象类型;页面对象;表单form;.

转享:为什么模型会打败脚本?

1386

Why Models Beat Scripting | CIO - Blogs and Discussion很多脚本可以作为DSL语言,直接描述模型,这就诞生了各种脚本语言,比如Ruby Scala,.

15种你应该使用模型驱动开发MDD的理由

3 3428 5 4K

使用面向对象思维的MDD/DDD已经是一种主流发展方向,DSL属于MDD一个更高级发展,企业架构网站昨天推出一篇15 reasons why you should start using Model .

Sculptor的DDD风格的DSL

1 2653 2K
Sculptor严格来说是一个代码生成工具,帮助那些基于模型驱动开发的团队快速开发项目。通过使用Sculptor,开发者可以专注于开发业务逻辑代码而忽略技术细节。开发者可以借助Domain-Drive.

另外一种DSL尝试:UML脚本

4 1889
yUML提供了一种脚本工具,类似英语的表达方式,可以让不懂计算机和UML的业务专家使用普通英语来表达他们的专家知识。这也是DSL的一种尝试,目前,DSL尝试有三种主要趋势:1.使用新的Scala之类语.

忘记Scala,Qi4J是下一个 Java?

18 8443 3 3K

这段时间,围绕Evans DDD的DSL实现是一个大热门,有的从语言角度重新定义,比如Scala vs. Clojure虽然Scala很象Java,但是语法比Java要复杂多,My experienc.

DSL和面向语言编程的崛起

4 3499

The rise of DSLs and Language Oriented Programming?几天前JetBrains(好像以前也是最早推出MDA工具的)推出他们的“MPS” (Meta Pr.

看SUN的JavaFX战略

33 5526 2K

在Java领域,无形中形成两个体系,一个以IBM/SUN等公司为主导的厂商路线;一个是以开源中立市场为主导的路线,很多初学者总是带着微软思路看待Java领域,以为Java领域最牛逼的就是SUN,然后就.

Declarative programming声明性编程

1 3940

DDD中经常谈到一个名词是Declarative Design声明式设计,目前比较流行,尤其是并行计算开始走热背景下。定义:无需表达程序控制流程。只要表达逻辑计算即可,就是表达应该干什么,而不是详细说.

关于动量软件

2 1762

不知道大家对动量软件是怎么看的,动量软件号称软件业的革命,代码全部有机器生成,让大家只关注业务其他全部交给它来处理,程序员根本或者说很少写代码,听上去很美,我看过它生成的项目,就源代码而言没有可读性因.

DSM是超越UML/MDA一种新的建模方法

7 2191

DSM是超越UML/MDA一种新的建模方法,它将软件直接面向建模专家或系统分析师,然后运用自定义自动化代码生成技术,能够成倍提高软件开发效率。http://www.jdon.com/mda/dsm.h.

大家对LOP和DSL是如何看待的?

6 1549

最近网上有一篇关于LOP的文章,不知道大家看了没有,现在有不少人在谈论这个问题,主要还是围绕在DSL这个方面,这是不是一个很好的软件开发方法。关于DSL的谈论,我不想多说,你可以参考一下Martin .

关于模式语言

2 1054

在亚历山大的模式语言这本书中,作者这样说道:每一个充满活力的完整的社会都有它自己独特而清晰的模式语言。那么在每一个软件项目所对应的目标社会群体,也应该有一个自己独特的模式语言。那么软件开发工作的目标应.