首页 > 代码库 > jQuery的Internal DSL
jQuery的Internal DSL
JQuery的核心理念是write less,do more(写的更少,做的更多),那么链式方法的设计与这个核心理念不谋而合。那么从深层次考虑这种设计其实就是一种Internal DSL。
DSL是指Domain Specific Language,也就是用于描述和解决特定领域问题的语言
我们贴一段代码:
$(‘input[type="button"]‘) .eq(0).click(function() { alert(‘点击我!‘);}).end().eq(1).click(function() { $(‘input[type="button"]:eq(0)‘).trigger(‘click‘);}).end().eq(2).toggle(function() { $(‘.aa‘).hide(‘slow‘);}, function() { $(‘.aa‘).show(‘slow‘);});
看这个代码的结构,我们或多或少都能猜到其含义:
l 找出type类型为button的input元素
l 找到第一个按钮,并绑定click事件处理函数
l 返回所有按钮,再找到第二个
l 为第二个按钮绑定click事件处理函数
l 为第三个按钮绑定toggle事件处理函数
那么可见jQuery的Internal DSL形式带来的好处——编写代码时,让代码更贴近作者的思维模式;阅读代码时,让读者更容易理解代码的含义
应用DSL可以有效的提高系统的可维护性(缩小了实现模型和领域模型的距离,提高了实现的可读性)和灵活性,并且提供开发的效率
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。