Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Actionscript 3 Design Pattern

8 280 vues

Publié le

Publié dans : Technologie, Business
  • Soyez le premier à commenter

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

×