Aplicando padrões de projeto em Ruby

Preview:

Citation preview

A P L I C A N D O PA D R Õ E S D E P R O J E T O E M R U B Y

@MARCOSBR I ZENO

O Q U E S Ã O PA D R Õ E S D E P R O J E T O

PA D R Õ E S A R Q U I T E T U R A I S

P R O B L E M A C O M U M

C O N T E X T O

S O L U Ç Ã O A M P L A M E N T E A D O TA D A

E X : I R A O T R A B A L H O E V O LTA R

P O S S Í V E L S O L U Ç Ã O 1

P O S S Í V E L S O L U Ç Ã O 2

P O S S Í V E L S O L U Ç Ã O 3

PA D R Õ E S S Ã O C ATA L O G A D O S

PA D R Õ E S D E P R O J E T O E M R U B Y

D I N A M I C A M E N T E T I PA D OT E M C L O S U R E S ( B L O C O S )C L A S S E S S Ã O O B J E T O S

E X E M P L O S

FA C T O R Y M E T H O D ( J AVA )

E X E M P L O S

FA C T O R Y M E T H O D ( R U B Y )

E X E M P L O S

C O M M A N D ( J AVA )

E X E M P L O S

C O M M A N D ( R U B Y )

O B J . S E N D ( : M E T H O D , A R G S )

E X E M P L O S

S TAT E ( R U B Y )

E X E M P L O S

S TAT E ( R U B Y )

E X E M P L O S

S TAT E ( R U B Y )

PA D R Õ E S D E P R O J E T O E M R U B Y

M E N O S C Ó D I G O M E N O S C L A S S E SM E S M A I D E I A

PA D R Õ E S S Ã O I D I O M A S D A L I N G U A G E M

E X E M P L O S

D Y N A M I C P R O X Y

E X E M P L O S

S E L F Y I E L D

O O V S F U N C I O N A L

Q U A I S O S S E U S PA D R Õ E S ?

O B R I G A D O !