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
400
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
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.1k
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
Java 21/25 Virtual Threads 소개
debop
0
270
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
140
20260320登壇資料
pharct
0
120
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
3.8k
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
420
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
200
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
560
存在論的プログラミング: 時間と存在を記述する
koriym
5
490
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
250
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
Done Done
chrislema
186
16k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Un-Boring Meetings
codingconduct
0
240
Navigating Team Friction
lara
192
16k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
840
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
240
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
180
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
130
New Earth Scene 8
popppiees
1
1.8k
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!