这是jquery.ui.widget.js下载,Learn how Command Query Responsibility Segregation represents a shift from more classic, three-tier application architecture toward a message-based, asynchronous pattern.
jquery.ui.widget.js是这一章节(jiē)的内容(róng)是基于 Scott Gonzalez 一篇博客 Building Stateful jQuery Plugins(已获作(zuò)者许可)
虽然大(dà)多数的 jQuery 插件都是(shì)无状态的(stateless),也(yě)就是说, 与插件进行交互(hù)的就限(xiàn)于调用插件时的那(nà)一组(zǔ)对象, 但是有(yǒu)好大(dà)一部分功能需(xū)求没办法(fǎ)通过(guò)这种简单的(de)插件模式来实现。
为了填补这一(yī)空(kōng)白,jQuery UI 实现一套更加先进的插件系统(tǒng)。 它可以管(guǎn)理状态,允(yǔn)许通过一个插件暴露多个函(hán)数,并(bìng)提(tí)供多个扩展点。 这套系统(tǒng)被称为(wéi) widget factory,对(duì)应jQuery.widget, 也是 jQuery UI 1.8 的一部分。不过,它是可以独立(lì)于 jQuery UI 使用的(de)。
jquery.ui.widget.js是(shì)我们首先创建(jiàn)一(yī)个(gè)只能(néng)设置一次的进度条。 下面是实现代码,使用(yòng) jQuery.widget 创建一个(gè)插件。 它(tā)接(jiē)受两个(gè)参数,插件名字和带(dài)有具(jù)体(tǐ)实现(xiàn)方法的对象。 当插件被调用时(shí),它会创建一个(gè)新的插(chā)件实例,而(ér)插(chā)件(jiàn)方法的执行对(duì)象也就是那(nà)个实例。 这(zhè)与标(biāo)准 jQuery 插件实现有两点是很不(bú)一样的(de)。一是,执行者是对象而不是 DOM 元素; 二是,执行(háng)者永远是单个(gè)对象,而不是(shì)元(yuán)素集。
最(zuì)近在做一个项目的时候(hòu),要实现(xiàn)动态渲染(rǎn)弹出框(kuàng)的(de)样式,所(suǒ)以用(yòng)到(dào)widget编写插(chā)件。学习一下(xià)。
使用Jquery ui 的widget来写插件,比较以实现,因(yīn)为widget已经实现了一些基本的方法,如_create(),destroy(),其次是踏实单例的(de)。
