Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
padrões JavaScript
Search
rodrigo brancher
October 20, 2012
Programming
6
390
padrões JavaScript
slides apresentados no guru sorocaba, 20/10/2012.
rodrigo brancher
October 20, 2012
Tweet
Share
Other Decks in Programming
See All in Programming
CSC307 Lecture 03
javiergs
PRO
1
490
AgentCoreとHuman in the Loop
har1101
5
230
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
SourceGeneratorのススメ
htkym
0
190
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
640
CSC307 Lecture 06
javiergs
PRO
0
680
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1k
CSC307 Lecture 01
javiergs
PRO
0
690
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
190
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
Featured
See All Featured
Design in an AI World
tapps
0
140
The Curse of the Amulet
leimatthew05
1
8.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
62
Are puppies a ranking factor?
jonoalderson
1
2.7k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
Google's AI Overviews - The New Search
badams
0
900
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
Discover your Explorer Soul
emna__ayadi
2
1.1k
Transcript
padrões javascript na prática @ guru-sorocaba 20/10/2012
eu rodrigo brancher
[email protected]
@rbrancher nu nudesign.com.br facebook.com/aquinanu
de algum jeito, todo mundo “sabe” javascript.
um jeito, to o “sabe” jav
um jeito, to o “sabe” jav mas sabe mesmo?
macarrão não é javascript…
javascript precisa de estrutura
padrões
padrões são formas standard de resolver problemas recorrentes
padrões são formas standard de resolver problemas recorrentes ajudam a
escrever código melhor
padrões são formas standard de resolver problemas recorrentes ajudam a
escrever código melhor permitem construir abstrações, reduzindo a complexidade
javascript basics
javascript basics orientado a objetos
javascript basics orientado a objetos sem classes
javascript basics orientado a objetos sem classes tipagem “fraca”
javascript basics orientado a objetos sem classes tipagem “fraca” prototypes
reduzindo as variáveis globais
no javascript, função define escopo
definindo um escopo local
definindo um escopo local
modificando o escopo global no escopo local
modificando o escopo global no escopo local
sempre utilizar var para declarar variáveis no escopo local
hoisting…
hoisting…
single var pattern
None
agrupar todas as declarações de variáveis locais em um único
var, no início da função
entendendo as funções no javascript
declaração
expressão (ou função anônima)
expressão nomeada
None
callbacks
“don’t call us, we’ll call you” escuta de eventos timeouts
extensão de outras funções
None
None
funções imediatas
( ) executam os objetos função
execução “manual”
execução imediata
execução imediata com parâmetros
objetos de configuração
funções com muitos parâmetros não são muito práticas
utilizando um objeto para passar os parâmetros
passando o objeto diretamente
declarando objetos literais x construtores
definindo com um construtor built-in definindo com um literal
definindo construtores customizados
adicionando métodos utilizando o prototype
let’s talk…
namespace
aplicações complexas tem muitos objetos
entulhando o escopo global com 4 objetos…
quanto menos objetos no escopo global, melhor
reduzindo para apenas um!
organiza o código de aplicações MVC seguindo o namespace pattern
http://github.com/fnando/ dispatcher-js dispatcher-js
um exemplo real
closures definindo propriedades e métodos privados
definindo privacidade em objetos construtores
None
definindo privacidade em objetos literais
None
melhorando a implementação com uma função imediata
encadeamento de métodos
None
vamos ver alguns casos reais
jquery- boilerplate https://github.com/zenorocha/ jquery-boilerplate
dispatcher-js https://github.com/fnando/ dispatcher-js
modernizr https://github.com/modernizr/ modernizr
algumas referências
javascript patterns de stoyan stefanov pela o’reilly javascript: the good
parts de douglas crockford pela o’reilly
http:// developer. mozzila.org mdn
obrigado!