-
什么叫API整洁?
- 能够让读者清楚的知道在代码中发生了什么(选择良好的名称和概念)
- 代码需要看起来整洁,极少使用浮夸的代码且不存在冗余的语法
-
领域特定语言的概念
- 通用编程语言(解决几乎所有能被计算机解决的问题);领域特定语言(专注在特定任务,或者说领域上,并放弃与该领域无关的功能)
- 最常用的DSL语言:SQL & 正则表达式
- DSL趋向于声明式(描述了想要的结果并将执行的细节留给了解释它的引擎)
- 内部DSL : 用通用编程语言编写的程序的一部分,使用了和通用编程语言完全一致的语法
-
带接收者的lambda
-
使用invoke约定构建更灵活的代码块嵌套
概念:使用与常规方法调用语法不同的,更简洁的符号,调用有着特殊命名的函数。
举例:get,它允许通过下标来访问一个对象 foo.get(bar) -> foo[bar]
使用:类如果定义了使用operator修饰符的invoke方法,就可以被当作函数一样调用
注意:lambda除非是内联的,否则都是被编译成呢实现函数式接口(Function1等)的类,而这些接口定义了具有对应数量参数的invoke方法
DSL中的Invoke约束
gradle配置模块依赖
DSL构建:领域特定语言
最新推荐文章于 2024-07-28 16:18:57 发布