Como desenvolvedor front-end da web, é bom saber esse padrão. Vamos usar a fábrica de widgets da interface do usuário jQuery para criar um novo widget chamado ‘test’. Inclua jQuery / UI yadda yadda, coloque isso em seu cachimbo e fume.
(function($){
$.widget('ui.test', {
_init: function(){
alert( this.element.html() );
}
});
})(jQuery);
$('#my-widget').test();
Tudo o que fizemos foi criar um IIFE que leva jQuery como um argumento e ‘mapeia para jQuery’ para que outras bibliotecas não o façam. Então, usando o método .widget (nome [, base: função opcional], protótipo {}), criamos um novo widget com um namespace ‘ui’ e damos a ele um nome próprio: ‘teste’. Nosso widget implementa apenas a funcionalidade _init mais básica. (… sobre o sublinhado: geralmente é um método ou propriedade privada ou privilegiada, use-o como escrito). Verifique a API para ver quais outros métodos estão disponíveis para seu novo widget baby.