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

DSL In Action

这些问题在你计划把Anko Layouts DSL 作为构建View的方式后,逐个浮出水面,然后开始劝退… QAQ Anko Layout DSL 到底在干什么 为什么我们可以用DSL来写界面?...DSL和XML并不是冲突的,DSL用于解决布局中细碎和动态的部分,而XML用于单页布局,复杂布局。...同时DSL和XML也可以无缝嵌合在一起,所以两者并不是冲突的关系,也没有必要去选择“我到底该用DSL写还是XML写”,两者各有优点,了解Anko DSL并且与XML活用起来才是最优解。...XML可以拿到ViewGroup的应用然后用DSL做骚操作,DSL也可以动态添加Inflate出来的XML来实现复杂页面布局的添加 DSL和XML各有所长,DSL更适合用于页面模块的解耦,XML更多用于单页构建...而当你的设计图可以精确到dp的时候,完全可以用DSL来描述UI的各个小组件,因此DSL在这里不应该被一棒子打死,DSL在目前的项目中,可以很好的替代手工 newView,add view的部分,以及小规模的

1K20

Kotlin DSL详解

DSL简介 所谓DSL领域专用语言(Domain Specified Language/ DSL),其基本思想是“求专不求全”,不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机语言...DSL 就是为了解决这些问题而提出的。...常见的DSL 常见的DSL在很多领域都能看到,例如: 软件构建领域 Ant UI 设计师 HTML 硬件设计师 VHDL DSL 与通用编程语言的区别 DSL 供非程序员使用,供领域专家使用; DSL...有更高级的抽象,不涉及类似数据结构的细节; DSL 表现力有限,其只能描述该领域的模型,而通用编程语言能够描述任意的模型; DSL分类 根据是否从宿主语言构建而来,DSL 分为: 内部 DSL(从一种宿主语言构建而来...} } 接下来可以看下解析上述DSL语言生成的代码。

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

构建Recyclerview DSL

接文章 DSL in action 上一篇文章说了如何把DSL用在项目的布局中,而这篇文章来讲讲怎么把DSL用在Recyclerview中。...这是一个大概的效果,Recyclerview DSL中,我们可以用DSL的风格去配置Item被如何加入到Rec,各个Item的风格是什么样子,具有很大的灵活性和拓展性。...ItemAdapter:Recyclerview DSL所依赖的Adapter,在初始化的时候会用到,后面它很少出面了 ItemManager: RecyclerView DSL的Adapter的一个核心成员变量...写个拓展函数,来让它支持DSL /** * 用DSL来风格来简单保证add SingleTextItem的操作 */ fun MutableList.singleText(content:...然后在 autoRefresh的闭包中,我们只需要用DSL来表达这个需求即可。框架会帮我们做这一切。

87410

Elasticsearch Query DSL查询入门

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

2.7K10

【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 .

44820

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

80910
领券