Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
140
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
310
開発に寄りそう自動テストの実現
goyoki
2
970
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
380
愛される翻訳の秘訣
kishikawakatsumi
3
320
認証・認可の基本を学ぼう後編
kouyuume
0
190
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.6k
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
270
tparseでgo testの出力を見やすくする
utgwkk
2
220
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Code Review Best Practice
trishagee
74
19k
How to Ace a Technical Interview
jacobian
280
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
The Pragmatic Product Professional
lauravandoore
37
7.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
RailsConf 2023
tenderlove
30
1.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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!