Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel-DF

Padrões de Arquitetura

Recommended Posts

Boa noite amigos!

Hj pesquisando mais a fundo sobre jquery encontrei algo que preciso de mais informações.

A questão é a seguinte:

Segundo a matéria lida ter várias funções anônimas dentro de um mesmo código é um problema sério.

obs: quase todos tutoriais na web seguem esse modelo.

Ex:

$(document).ready( function() {
 ...
 $('#magic').click( function(e) {
 	$('#yayeffects').slideUp( function() {
 	...
 	});
 });
 $('#happiness').load(url+' #unicorns',function(){
 	...
 });
});

E sugere que seja feito da seguinte forma:

var PI = {
 onReady : function() {
 	...
 	$('#magic').click(PI.candyMtn);
 	$('#happiness').load(url+' #unicorns',PI.unicornCb);
 },
 candyMtn : function(e) {
 	$('#yayeffects').slideUp(PI.slideCb);
 },
 slideCb : function() {
 	...
 },
 unicornCb : function() {
 ...
 }
}

$(document).ready(PI.onReady);

Olhando o cód. de alguns plugins eu ja havia notado algo como no exemplo sugerido, mas o que me deixou em dúvida foi a

questão levantada de que várias funções anônimas dentro de um mesmo código é um problema sério.

 

Alguem saberia me citar o que viria a ser esse problema sério?

 

Grato.

 

fonte:http://www.flyleo.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente não dá pra discutir com quem entende do assunto e pelo visto esse cara entende mesmo.

 

Mas também fiquei confuso quanto a este sub-item do artigo. Entretanto o que pude compreender foi uma "modularização" JSON do código.

 

As funções foram estruturadas em um índice (se é que as chaves JSON podem ser chamadas de índices) de modo mais lógico permitindo reaproveitamento do código.

 

Toda vez que o evento click() or disparado, a função presente em candyMtn será invocada e, por sua vez, candyMtn invocará slideCb. O mesmo vale para o load() que invocará o unicornCb.

 

Tudo isso encapsulado em uma única variável PI executada através do onReady nela presente.

 

De fato, não me ocorre além de reaproveitamento de código, seguindo o princípio KISS (Keep it Simple, Stupid), pois, imagine um exemplo real de uma aplicação real onde você teria N chamadas a N eventos tudo dentro do mesmo jQuery.ready().

 

Enfim, é só uma reflexão sobre o assunto que eu espero estar seguindo corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.