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