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
Private APIの呼び出し方
kishikawakatsumi
3
900
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
12
7.2k
FlutterKaigi 2025 システム裏側
yumnumm
0
1.2k
How Software Deployment tools have changed in the past 20 years
geshan
0
5.2k
Promise.tryで実現する新しいエラーハンドリング New error handling with Promise try
bicstone
3
1.5k
GeistFabrik and AI-augmented software development
adewale
PRO
0
160
アーキテクチャと考える迷子にならない開発者テスト
irof
9
3.3k
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
300
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
180
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
670
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
32
14k
関数の挙動書き換える
takatofukui
4
750
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Building Applications with DynamoDB
mza
96
6.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Documentation Writing (for coders)
carmenintech
76
5.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Thoughts on Productivity
jonyablonski
73
4.9k
Site-Speed That Sticks
csswizardry
13
970
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Side Projects
sachag
455
43k
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!