javascript接口(使用链调用)实例
在认真研究了DSL一段时间后,我发现了一些有趣的东西。Javascript最常用的项目是链调用(方法链,即方法链),Martin Flower指出这一点很有趣:复制代码代码如下所示:
我也注意到了一个常见的误解,许多人似乎认为这是相等的,它也被称为以下三个方面。
很多人把链调用等同于流畅的接口,然而,链调用是一种常见的流接口方式,真正流畅的接口不只是一点点。
DSL流畅界面
一个流畅的接口的初衷是建立一个可读的API,毕竟,代码是写给人们的。
类似地,简单地看一下我们以前通过一系列方法来操作的DOM。
复制代码代码如下所示:
VaR建立document.createelement(按钮); / /创建一个元素
var t = document.createtextnode(点击我); / /创建一个文本节点
btn.appendchild(T); / /追加文本
document.body.appendchild(BTN); / /追加
如果你写的是jQuery,那就是它的方式。
复制代码代码如下所示:
$()追加(单击我);
等待
因此,我们可以创建一个简单的示例来显示最简单的DSL。
复制代码代码如下所示:
函数({){
this.add =函数(){
console.log(1);
返回此;
};
this.result =函数(){
Console.log ('2');
返回此;
};
返回此;
});
新函数();
Func.add(),结果();
但它看起来像一个表达式生成器。
DSL表达式生成器
表达式生成器对象提供了一组连贯的接口,然后将相干接口调用转换为底层命令查询API。
这样的api,我们可以在数据库中看到一些api:
复制代码代码如下所示:
VaR查询=
SQL('select名字,从部件的描述)
在哪里('price <<,$(参数。max_price),和,
间隙= $(params。清除))
OrderBy('name ASC);
连锁电话的一个问题就是结束它。我们在同一代码中没有结束,这是非常混乱的。添加查询和结束似乎是一个好结果。
其他
方法级联
以下内容如下:
复制代码代码如下所示:
(A.B);
(a);