首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DSL In Action

经过大家的一些踩坑,以及开发上的试用,一致表示,Anko Layouts无法用在成熟的项目之中,还是老老实实用XML吧… Anko Layouts的DSL设计那么棒… 就要这么放弃了吗 大家眼里的Anko...To get an instance * of this class, call {@link android.content.Context#getSystemService(java.lang.String...wrapContent) visibility = View.GONE } frameLayout.verticalLayout { } 摸着良心说,是不是比自己创建View(不管是从Inflater还是java...XML可以拿到ViewGroup的应用然后用DSL做骚操作,DSL也可以动态添加Inflate出来的XML来实现复杂页面布局的添加 DSL和XML各有所长,DSL更适合用于页面模块的解耦,XML更多用于单页构建...而当你的设计图可以精确到dp的时候,完全可以用DSL来描述UI的各个小组件,因此DSL在这里不应该被一棒子打死,DSL在目前的项目中,可以很好的替代手工 newView,add view的部分,以及小规模的

1K20

Kotlin DSL详解

常见的DSL 常见的DSL在很多领域都能看到,例如: 软件构建领域 Ant UI 设计师 HTML 硬件设计师 VHDL DSL 与通用编程语言的区别 DSL 供非程序员使用,供领域专家使用; DSL...) 外部 DSL(从零开始构建的语言,需要实现语法分析器等) Android Gradle构建 Groovy是一种运行在JVM虚拟机上的脚本语言,能够与Java语言无缝结合,如果想了解Groovy可以查看...可以看出通过这种形式的配置,我们可以层次分明的看出整个项目构建的一些定制,又由于Android也遵循约定大于配置的设计思想,因此我们仅仅只需修改需要自定义的部分即可轻松个性化构建流程。...Groovy脚本-build.gradle 在Groovy下,我们可以像Python这类脚本语言一样写个脚本文件直接执行而无需像Java那样既要写好Class又要定义main()函数,因为Groovy本身就是一门脚本语言...okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody import okhttp3.Response import java.util.concurrent.TimeUnit

2.1K70
您找到你想要的搜索结果了吗?
是的
没有找到

《Kotlin 程序设计》第十一章 Kotlin实现DSL

第十一章 Kotlin实现DSL 正式上架:《Kotlin极简教程》Official on shelves: Kotlin Programming minimalist tutorial 京东JD...id=558540170670 DSL DSL 即 domain-specific languages,领域特定语言。和一般的编程语言不同,领域特定语言只能用于特定的领域中并且表现形式有限。...实现 DSL JavaDSL 的最简单实现方式就是构造器模式,而在 Kotlin 过去的版本中可以省略 .,所以可以写成更易读的代码,但是现在的版本已经不支持了。...Machine machine = new Machine.Builder() .setCore(8) .setArch("64 bits") .setOs("Linux") .build(); DSL...使用闭包构建 DSL Kotlin 像 Groovy 一样也能通过闭包构建 DSL,语法看起来很像 Groovy。

47620

Java 和 JavaScript 来学习 Haskell 和 Groovy(DSL

这是《从 Java 和 JavaScript 来学习 Haskell 和 Groovy》系列的第四篇。 首先来理解 DSL。...先来看 Java。用 JavaDSL 是可能的,但是写高效和简洁的 DSL 是困难的。原因在于它的语法限制,必须严谨的括号组合,不支持脚本方式执行代码等等。 首先讲讲链式调用。...这也不是 Java 特有的东西,只不过 Java 的限制太多,能帮助 DSL 的特性很少,第一个能想到的就是它而已。...其次是嵌套函数,这也不是 Java 特有的东西,它和链式调用组成了 DSL 最基本的实现形式: new Map( city("Beijing", x1, y1), city("Shanghai"..., x2, y2), city("Guangzhou", x3, y3) ); 值得一提的是 Java 的闭包,可以说闭包是融合了管道操作和集合操作美感的,谈 DSL 不能不谈闭包。

45010

使用Groovy构建DSL

DSL(Domain Specific Language)官方定义为:针对某一领域,具有受限表达性的一种计算机程序设计语言。...常用于聚焦指定的领域或问题,这就要求 DSL 具备强大的表现力,同时在使用起来要简单。由于其使用简单的特性,DSL 通常不会像 Java,C++等语言将其应用于一般性的编程任务。...有点类似于 Java 中的反射,但是在使用上却比 Java 中的反射简单的多。...DSL了,通多DSL可以设计出非常简洁的API给用户,在执行的时候调用DSL内部的复杂功能,这些功能的背后逻辑隐藏在了自己编写的Delegate中。...项目地址:https://github.com/sofn/dsl-groovy 本文作者:木小丰,美团Java高级工程师,关注架构、软件工程、全栈等,不定期分享软件研发过程中的实践、思考。

1.1K20

Gradle Kotlin DSL指南

Kotlin DSL脚本 就像基于groovy的DSL一样,Kotlin DSL是在Gradle的Java API之上实现的。...了解类型安全模型访问器何时可用 Kotlin DSL目前支持由插件提供的类型安全模型访问器: Dependency和artifact configurations(比如由Java Plugin提供的implementation...一个极端的例子是使用Java、Groovy和Kotlin实现的任务和插件的构建,同时也使用Kotlin DSL和Groovy DSL构建脚本。...引用Kotlin参考文档: Kotlin在设计时考虑到了Java互操作性。现有的Java代码可以从Kotlin以一种自然的方式调用,Kotlin代码也可以在Java中相当顺畅地使用。...从Kotlin调用Java和从Java调用Kotlin在Kotlin参考文档中都有很好的介绍。 这同样适用于与Groovy代码的互操作性。

10K20

Elasticsearch Query DSL查询入门

本篇为学习DSL时做的笔记,适合ES新手,大佬请略过~ Query DSL又叫查询表达式,是一种非常灵活又富有表现力的查询语言,采用JSON接口的方式实现丰富的查询,并使你的查询语句更灵活、更精确、更易读且易调试...例如检索“运维咖啡吧”是否匹配文档的标题,结果只有匹配或者不匹配,因为只是对结果进行简单的匹配,所以计算起来也非常快,并且过滤的结果会被缓存到内存中,性能要比Query查询高很多 简单查询 一个最简单的DSL...网上仅有一些大厂分享的比较泛的概念没有实际落地的过程,我在想把这些数据利用起来,初步想法是去ES搜索出来业务或者功能的流量数据,然后做趋势分析,这不从DSL开始学习,欢迎大家加我好友找我交流,我会非常乐意

2.8K10

Drools使用dsl语言

Drools 为了对非开发人员更加友好,提供了dsl语言的支持,通过dsl再转换成drl文件来进行执行。...DSL简介 DSL == Domain Specific Language 以贴近业务领域的方式,即以类自然语言的方式来构造软件,使得我们不用花费太多精力就能看懂代码所对应的业务含义 。...DSL相当于一个转换器,它能将某一领域内的术语转换成规则语言。 Drools DSL背后的概念很简单。创建一个包含面向业务的概念的字典文件,并将其翻译成DRL。...上面就是一个简单的dsl文件的定义,它遵从如下语法格式: [][]= 其中 [when...拓展 当然,也可以直接在dsls中通过expander来引入规则到dslr中,比如: rule 'test-dsl' expander demo.dsl when There is a person

86210

【Kotlin】Kotlin 领域特定语言 DSL 原理 一 ( DSL 简介 | 函数 属性扩展 )

DSL 简介 II . Kotlin 函数扩展 III . Kotlin 属性扩展 I . DSL 简介 ---- 1 ....DSL 用途 : DSL 用于某个特定领域 , 主要是该领域的专家使用 , 通过简单的编程 , 可以描述该领域中的事物 , 这个简单的编程语言就是 DSL 领域特定语言 ; 如 SQL 是给数据库管理员使用的管理数据库的...DSL ; 3 ....DSL 与 编程语言区别 : ① 使用者不同 : DSL 是特定领域的专家使用 , 编程语言是程序员使用 ; ② 作用范围不同 : DSL 仅能表示特定领域的事物模型 , 编程语言可以表现任何事物和模型...Kotlin 中的 DSL : DSL 是 Kotlin 语言的特性之一 , 使用 DSL 可以让函数调用非常接近真实的语言 ; 6 .

46220

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券