Estou criando um aplicativo da Web com uma GUI bastante complexa - muitos pequenos elementos lado a lado e dentro de outros elementos que precisam de vários comportamentos (arrastar, clicar, mas sensíveis ao contexto).
Meu código tende a funcionar assim:
controles começam como tags html
<li>
então eu adiciono classes à tag
<li class = 'static passive included'>
algumas classes podem ser para o estilo css afetar a aparência
.static {background: blue; float: left;}
enquanto outros são acionados pelo jQuery para fornecer comportamento para os eventos DOM associados
$("#container").delegate(".passive", function {onclick : //do-stuff})
e outros podem ser detectados pelo javascript normal ao digitalizar o documento, por exemplo. colete os valores de texto de todos os nós com a classe 'incluída'. Portanto, certos elementos DOM são objetos da GUI que implementam classes definidas através de uma combinação de css e jQuery.
Minha pergunta é: essa é uma boa maneira de trabalhar? E também são realmente esses "decoradores" - eles certamente "adicionam responsabilidades adicionais a um objeto de forma dinâmica", mas não tenho certeza sobre esse termo. Por fim, você usa esse padrão em seus próprios sites?