Your new superhero:
AS3 design pattern
Your new superhero:
AS3 design pattern
Wednesday, November 10, 2010
Multiscreen development
with Flash Platform
Wednesday, November 10, 2010
Design Pattern?
In software engineering, a design pattern is a
general reusable solution to a commonly occurring
problem i...
Design Pattern?
• Development speed up
• Utilizzati nelle micro architetture
• Coprono molte casistiche comuni nei progett...
Concetti base OOP
Object-oriented programming (OOP) is a
programming paradigm that uses "objects" to
design applications a...
Design Pattern?
• Creational patterns
• Structural patterns
• Behavioral patterns
• Concurrency patterns
• Multiple patter...
Creational pattern
• permettono di creare oggetti adatti alla
situazione in cui verranno inseriti
• Alcuni pattern:
• Fact...
Structural pattern
• Semplificano il modo in cui mettono in relazione
gli oggetti
• Alcuni pattern:
• Façade
• Proxy
• Dec...
Behavioral pattern
• Identificano un metodo comune per comunicare
tra oggetti
• Alcuni pattern:
• Command
• Memento
• Obse...
I nostri nuovi eroi
• Singleton (creational pattern)
• Façade (structural pattern)
• Proxy (structural pattern)
• Command ...
Singleton
• rappresentazione della Singleton matematica in
programmazione
• Un gruppo con un solo oggetto (es: {0})
Quando...
Singleton
Wednesday, November 10, 2010
Singleton vs Static class
• Singleton può estendere classi e implementare
interfaccie
• Le Static class hanno solo metodi ...
Façade
• l’accesso semplificato ad un insieme di oggetti
strutturati o ad un oggetto complesso
• riduce le dipendenze tra ...
Façade
Wednesday, November 10, 2010
Façade
Wednesday, November 10, 2010
Proxy
• placeholder di un oggetto come un file del sistema,
una connessione remota a dati...
• Il virtual proxy in partico...
Proxy
Wednesday, November 10, 2010
Command
• Un oggetto che contiene le informazioni (nome del
metodo, l’oggetto che lo contiene e i parametri da
passare) ut...
Command
Wednesday, November 10, 2010
Observer
• Un oggetto principale (Subject) tiene una lista di
oggetti osserverti (Observer) e notifica ogni cambio
di stat...
Observer
• Subject Interface
• Observer Interface
Wednesday, November 10, 2010
Mediator
• metodo per far comunicare 2 oggetti rendendoli
totalmente indipendenti tra loro
Quando utilizzarla?
Quando vogl...
MVC
• Model View Control divide la parte di visualizzazione
dell’interfaccia dalla parte logica dell’applicazione
• Il Mod...
Wednesday, November 10, 2010
Dependency Injection
• Viene utilizzata per far collaborare due o più oggetti
mantenendo però un accoppiamento debole tra ...
Dependency Injection
Wednesday, November 10, 2010
Useremo i Design Pattern?!
Partendo dal presupposto che ci vorrà tempo per
impararli e riconoscere quando usarli, ma...
We...
Libri da non perdere!
http://www.as3dp.com/
Wednesday, November 10, 2010
Domande e risposte
blog: http://lucamezzalira.com
twitter: lucamezzalira
email: luca@mart3.org
Wednesday, November 10, 2010
Upcoming SlideShare
Loading in …5
×

Actionscript 3 Design Pattern

4,712 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,712
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Actionscript 3 Design Pattern

  1. Your new superhero: AS3 design pattern Your new superhero: AS3 design pattern Wednesday, November 10, 2010
  2. Multiscreen development with Flash Platform Wednesday, November 10, 2010
  3. Design Pattern? In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software design. [...] It is a description or template for how to solve a problem that can be used in many different situations. Wednesday, November 10, 2010
  4. Design Pattern? • Development speed up • Utilizzati nelle micro architetture • Coprono molte casistiche comuni nei progetti • Aiutano nellla realizzazione dell’architettura • Rendono il progetto mantenibile e documentato • Spesso li usiamo ma non ce ne rendiamo conto Wednesday, November 10, 2010
  5. Concetti base OOP Object-oriented programming (OOP) is a programming paradigm that uses "objects" to design applications and computer programs OOP basic concepts: . Abstraction (model) . Encapsulation (black box) . Inheritance (extends) . Polymorphism (change in the same field) Wednesday, November 10, 2010
  6. Design Pattern? • Creational patterns • Structural patterns • Behavioral patterns • Concurrency patterns • Multiple patterns Wednesday, November 10, 2010
  7. Creational pattern • permettono di creare oggetti adatti alla situazione in cui verranno inseriti • Alcuni pattern: • Factory • Singleton • Object pool Wednesday, November 10, 2010
  8. Structural pattern • Semplificano il modo in cui mettono in relazione gli oggetti • Alcuni pattern: • Façade • Proxy • Decorator Wednesday, November 10, 2010
  9. Behavioral pattern • Identificano un metodo comune per comunicare tra oggetti • Alcuni pattern: • Command • Memento • Observer Wednesday, November 10, 2010
  10. I nostri nuovi eroi • Singleton (creational pattern) • Façade (structural pattern) • Proxy (structural pattern) • Command (behavioral pattern) • Observer (behavioral pattern) • Mediator (behavioral pattern) • MVC (multiple pattern) Wednesday, November 10, 2010
  11. Singleton • rappresentazione della Singleton matematica in programmazione • Un gruppo con un solo oggetto (es: {0}) Quando utilizzarla? Quando vogliamo creare oggetti univoci all’interno del nostro progetto (es.: Manager, Alert, Façade, ...) Wednesday, November 10, 2010
  12. Singleton Wednesday, November 10, 2010
  13. Singleton vs Static class • Singleton può estendere classi e implementare interfaccie • Le Static class hanno solo metodi statici (ricordano molto il procedurale), in più non viene istanziata • Con la Singleton posso istanziare anche classi derivate Wednesday, November 10, 2010
  14. Façade • l’accesso semplificato ad un insieme di oggetti strutturati o ad un oggetto complesso • riduce le dipendenze tra la libreria di oggetti e quelli che li utilizzano Quando utilizzarla? Quando vogliamo semplificare l’accesso ad una parte del codice Wednesday, November 10, 2010
  15. Façade Wednesday, November 10, 2010
  16. Façade Wednesday, November 10, 2010
  17. Proxy • placeholder di un oggetto come un file del sistema, una connessione remota a dati... • Il virtual proxy in particolare è molto adatto per il caricamento di file grafici esterni Quando utilizzarla? Ogni volta che utilizzo la classe Loader di Actionscript Wednesday, November 10, 2010
  18. Proxy Wednesday, November 10, 2010
  19. Command • Un oggetto che contiene le informazioni (nome del metodo, l’oggetto che lo contiene e i parametri da passare) utili per richiamare un metodo • Possiamo creare i Macro Commands e i Simple Commands Quando utilizzarla? Ogni volta che l’utente interagisce con la GUI della nostra applicazione Wednesday, November 10, 2010
  20. Command Wednesday, November 10, 2010
  21. Observer • Un oggetto principale (Subject) tiene una lista di oggetti osserverti (Observer) e notifica ogni cambio di stato ad ogni oggetto osservato. Quando utilizzarla? Al posto degli eventi possiamo usare le notifiche che rendono il nostro sistema più leggero e performante Wednesday, November 10, 2010
  22. Observer • Subject Interface • Observer Interface Wednesday, November 10, 2010
  23. Mediator • metodo per far comunicare 2 oggetti rendendoli totalmente indipendenti tra loro Quando utilizzarla? Quando vogliamo far comunicare le view con il resto dell’applicazione Wednesday, November 10, 2010
  24. MVC • Model View Control divide la parte di visualizzazione dell’interfaccia dalla parte logica dell’applicazione • Il Model è dove vado a gestire i dati dell’applicazione (NO DATABASE!) • La View è la parte di interfaccia vista dagli utenti • Il Controller riceve gli input dell’utente e dialoga con il Model per recuperare i dati che saranno poi visualizzati dalla View Wednesday, November 10, 2010
  25. Wednesday, November 10, 2010
  26. Dependency Injection • Viene utilizzata per far collaborare due o più oggetti mantenendo però un accoppiamento debole tra essi • Aiuta nella mantenibilità dei progetti e nel unit testing del progetto stesso • Molte micro-architettura utilizzano questa tecnica (Parsley, SWIZ, Spring AS, Mate, RobotLegs, ...) Wednesday, November 10, 2010
  27. Dependency Injection Wednesday, November 10, 2010
  28. Useremo i Design Pattern?! Partendo dal presupposto che ci vorrà tempo per impararli e riconoscere quando usarli, ma... Wednesday, November 10, 2010
  29. Libri da non perdere! http://www.as3dp.com/ Wednesday, November 10, 2010
  30. Domande e risposte blog: http://lucamezzalira.com twitter: lucamezzalira email: luca@mart3.org Wednesday, November 10, 2010

×