Laboratorio di Sistemi Software Design Patterns 1
|
|
- Uberto Simone
- 8 anni fa
- Visualizzazioni
Transcript
1 TITLE Laboratorio di Sistemi Software Design Patterns 1 Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Tipi di Design Patterns Creazionali, strutturali, comportamentali Design Patterns Factory Method, Strategy, State, Decorator Composite, Iterator, Visitor Template Method, Abstract Factory, Builder, Singleton Proxy, Adapter, Bridge, Facade Mediator, Observer, Chain of Responsibility Command, Prototype 2
2 Bibliografia UML Linguaggio per modellare un Sistema Software. Design Patterns Elements of Reusable Object-Oriented Software Catalogo di patterns di progettazione Refactoring Improving the Design of Existing Code Catalogo di operazioni di Refactoring Eclipse IDE + UML Plugin Ambiente di programmazione che supporta refactoring e UML. Trovate tutto nelle pagine web relative a questo corso: Ricevimento Metodo 1: il newsgroup Avete a disposizione un newsgroup: unibo.cs.informatica.paradigmiprogrammazione Utilizzatelo il più possibile; se nessuno risponde in due-tre giorni, risponderà uno dei docenti Valuteremo anche la partecipazione al newsgroup Metodo 2: subito dopo le lezioni siamo a vostra disposizione per chiarimenti in aula e alla lavagna, in modo da rispondere a tutti Metodo 3: ricevimento su appuntamento Scrivete a lpadovan@cs.unibo.it (A-L) o a solmi@cs.unibo.it (M-Z) 4
3 Alcuni concetti Incapsulare Racchiudere in modo da mostrare all esterno solo quello che voglio. Gioco su package, classi e visibilità. Delegare Si dice che un metodo delega un altro NB. In Java si può solo inoltrare una chiamata this resta legato all oggetto chiamato. Inoltrare (forwards) Indirezione Ogni volta che prima di fare la cosa richiesta ne faccio un altra (che in genere mi serve per capire come farla). Esempi: delega e codice condizionale 5 Alcuni concetti /2 Staticamente/dinamicamente Dinamicamente significa che si verifica durante l esecuzione (runtime) altrimentiè statico (compile time o initialization time). Statefull/stateless class(object) Con o senza campi. Accoppiato Una classe/interfaccia è accoppiata ad un altra quando contiene un suo riferimento. Esempio: chiamata con parametro di un tipo non primitivo. 6
4 Design Patterns Definizione Un Design Pattern descrive un problema ricorrente di progettazione e uno schema di soluzione per risolverlo. NB Il termine Design nel nome non significa che riguardano solo la progettazione Serve a Progettare e implementare il Software in modo che abbia la flessibilità e le capacità di evolvere desiderate Dominare la complessità di un Sistema Software Catalogo Ogni Design Pattern ha un nome, un campo di applicabilità, uno schema di soluzione e una descrizione delle conseguenze della sua applicazione. 7 Esempi di Design Patterns 8
5 Design Patterns Design Patterns: progettare anticipando i cambiamenti Prima si progetta il Software poi lo si implementa. Massimizzare il riuso (senza ricompilazione) La compatibilità all indietro è spesso un obiettivo. Assumo di poter controllare solo una parte del codice sorgente. Progettare il Sistema in modo da anticipare i nuovi requisiti e i cambiamenti a quelli esistenti. 9 Design Patterns Uso Design Patterns per le esigenze attuali Si riduce enfasi sulla progettazione iniziale Mi basta progettare una soluzione ragionevole non la migliore soluzione. Continuo a chiedermi come evolverà il sistema ma mi basta sapere di poter aggiungere un certo tipo di flessibilità con il Refactoring Incorporare Design nei sorgenti Le scelte progettuali e le dipendenze devono essere il più possibile espresse nei sorgenti I commenti non sono un deodorante per rendere accettabile un codice illeggibile 10
6 Rischi e limiti dei Design Patterns Esistono dei trade -off Non esiste una combinazione di Patterns che mi dà il massimo di flessibilità e di facilità di evolvere. Un Design Pattern facilita alcuni sviluppi futuri a scapito di altri. Cambiare una scelta progettuale è costoso Rischio di sovra-ingegnerizzare Il codice diventa più flessibile e sofisticato di quanto serve. Quando scelgo i Patterns prima di iniziare ad implementare. Quando introduco i Patterns troppo presto. Costo computazionale La flessibilità di una soluzione costa ed è accompagnata da una maggiore complessità. Usare un Design Pattern per esigenze future è un costo 11 Limiti OO evidenziati dai Design Patterns Identità degli oggetti (Object Schizophrenia) Spesso una entità del dominio viene rappresentata da un insieme di classi dell applicazione Problema del significato di this. Incapsulamento dei dati La scomposizione di una entità in più classi mi obbliga a ridurre l incapsulamento dei dati. Rappresentazione indiretta Dato un programma, non è facile stabilire quali Design Pattern sono stati applicati. Parte delle informazioni di progettazione sono perse. 12
7 Dipendenze nel codice Scrivere un programma introduce dipendenze Comprendere le dipendenze che si introducono in modo da scegliere consapevolmente i Design Pattern. Le dipendenze contenute in una classe/interfaccia consistono nell insieme dei riferimenti (statici) ad altre classi/interfacce. I design pattern vengono classificati in base al tipo di dipendenze su cui agiscono in: creazionali, strutturali, comportamentali. Esempi di dipendenze: istanziazione oggetti, campi e metodi, variabili e parametri di tipi non primitivi 13 Design Patterns Creazionali Astraggono il processo di istanziazione Nascondo i costruttori e introduco dei metodi al loro posto Conseguenze: Incapsulano la conoscenza delle classi concrete usate Nascondono il modo in cui le istanze di queste classi vengono create e assemblate Espongono interfacce al posto di tipi concreti 14
8 Design Patterns Strutturali Descrivono come comporre classi e oggetti in strutture più grandi Si dividono in: basati su classi e su oggetti I primi usano l ereditarietà (statica) I secondi la composizione (anche dinamica) Conseguenze Aggiungono un livello di indirezione per disaccoppiare le due interfacce. 15 Design Patterns comportamentali Riguardano algoritmi e l assegnamento di responsabilità tra oggetti Descrivono pattern di comunicazione tra oggetti. Per distribuire il comportamento usano l ereditarietà o la composizione. Conseguenze Alcuni incapsulano il comportamento in modo da poterlo variare anche dinamicamente Disaccoppiano il chiamante e il chiamato aggiungendo un livello di indirezione. 16
9 Factory Method Intent Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses. Applicability a class can't anticipate the class of objects it must create. a class wants its subclasses to specify the objects it creates. classes delegate responsibility to one of several helper subclasses, and you want to localize the knowledge of which helper subclass is the delegate. 17 Factory Method /2 Structure Participants Product (Document) defines the interface of objects the factory method creates. ConcreteProduct (MyDocument) implements the Product interface. Creator (Application) declares the factory method, which returns an object of type Product. Creator may also define a default implementation of the factory method that returns a default ConcreteProduct object. may call the factory method to create a Product object. ConcreteCreator (MyApplication) overrides the factory method to return an instance of a ConcreteProduct 18
10 FactoryMethod /3 Collaborations Creator relies on its subclasses to define the factory method so that it returns an instance of the appropriate ConcreteProduct. Consequences The code only deals with the interface; therefore it can work with any user-defined concrete classes. Provides hooks for subclasses Connects parallel class hierarchies 19 Factory Method example 1 JComponent 20
11 Factory Method example 2 The code only deals with the interface; therefore it can work wi th any user-defined concrete classes. 21 Factory Method example 3 Connects parallel class hierarchies 22
12 Factory Method questions How does Factory Method promote loosely coupled code? 23 Strategy Intent Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it. Applicability Many related classes differ only in their behavior. Strategies provide a way to configure a class with one of many behaviors. You need different variants of an algorithm. An algorithm uses data that clients shouldn't know about. Instead of many conditionals. 24
13 Strategy /2 Structure Participants Strategy declares an interface common to all supported algorithms. Context uses this interface to call the algorithm defined by a ConcreteStrategy. ConcreteStrategy implements the algorithm using the Strategy interface Context is configured with a ConcreteStrategy object. maintains a reference to a Strategy object. may define an interface that lets Strategy access its data 25 Strategy /3 Collaborations Strategy and Context interact to implement the chosen algorithm. A context may pass data or itself to the Strategy. A context forwards requests from its clients to its strategy. Clients usually create and pass a ConcreteStrategy to the context; thereafter, they interact with the context exclusively. Consequences Families of related algorithms. An alternative to subclassing. Vary the algorithm independently of its context even dynamically. Strategies eliminate conditional statements. A choice of implementations (space/time trade-offs). Clients must be aware of different Strategies. Communication overhead between Strategy and Context. Increased number of objects (stateless option). 26
14 Strategy example 1 Sorting Strategy 27 Strategy example 2 To define different algorithms 28
15 Strategy questions What happens when a system has an explosion of Strategy objects? Is there some way to better manage these strategies? Is it possible that the data required by the strategy will not be available from the context's interface? How could you remedy this potential problem? 29 State Intent Allow an object to alter its behavior when its internal state changes. The object will appear to change its class. Applicability An object's behaviordepends on its state, and it must change its behavior at run-time depending on that state. Operations have large, multipartconditionalstatements that depend on the object's state. This state is usually represented by one or more enumerated constants. Often, several operations will contain this same conditionalstructure. 30
16 State /2 Structure Participants Context defines the interface of interest to clients. maintainsan instance of a ConcreteState subclass that defines the current state. State defines an interface for encapsulatingthe behavior associated with a particular state of the Context. ConcreteState subclasses each subclass implements a behavior associated with a state of the Context. 31 State /3 Collaborations Context delegates state-specific requests to the current ConcreteState object. A context maypass itself as an argument to the State object handling the request. Context is the primary interface for clients. Either Context or the ConcreteState subclasses can decide whichstate succeeds another and under what circumstances. 32
17 State /4 Consequences It localizes state-specific behavior and partitions behavior for different states. It makesstate transitions explicit. State objects can be shared. Implementation Who defines the state transitions? Creating and destroying State objects A table-based alternative 33 State example 1 Queue 34
18 State example 2 Network connection 35 State example 3 Drawing tool 36
19 Decorator or Wrapper Intent Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality. Applicability to add responsibilities to individual objects dynamically and transparently, that is, without affecting other objects. for responsibilities that can be withdrawn. when extension by subclassing is impractical or not allowed 37 Decorator /2 Structure Participants Component defines the interface for objects that can have responsibilities added to them dynamically ConcreteComponent defines an object to which additional responsibilities can be attached Decorator maintainsa reference to a Component object and defines an interface that conformsto Component's interface ConcreteDecorator adds responsibilities to the component 38
20 Decorator /3 Collaborations Decorator forwards requests to its Component object. It may optionally perform additional operations before and after forwarding the request Consequences More flexibility than static inheritance. Avoids feature-laden classes high up in the hierarchy. A decorator and its component aren t identical. Lots of little objects. Implementation Keeping Component classes lightweight. Changing the skin of an object versus changing its guts. 39 Decorator example 1 String Decorator 40
21 Decorator example 2 To decorate an individual objects 41 Decorator example 3 Adding responsibilities to streams 42
22 Decorator questions Now consider an object A, that is decorated with an object B. Since object B "decorates" object A, object B shares an interface with object A. If some client is then passedan instance of this decoratedobject, and that method attempts to call a method in B that is not part of A's interface, does this mean that the object is no longera Decorator, in the strict sense of the pattern? Furthermore, why is it important that a decoratorobject's interface conforms to the interface of the component it decorates? 43
Laboratorio di Progettazione di Sistemi Software Design Patterns
TITLE Laboratorio di Progettazione di Sistemi Software Design Patterns Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Tipi di Design Patterns Creazionali Strutturali Comportamentali
DettagliTecniche di Progettazione: Design Patterns
Tecniche di Progettazione: Design Patterns GoF: Startegy 1 Strategy pattern: the duck 2 Strategy pattern: the duck 3 The rubber duck 4 First solution Override fly() Class Rubberduck{ fly() { \\ do nothing
DettagliLaboratorio di Progettazione di Sistemi Software Design Patterns Comportamentali
TITLE Laboratorio di Progettazione di Sistemi Software Design Patterns Comportamentali Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Catalogo di Design Patterns comportamentali:
DettagliTecniche di Progettazione: Design Patterns
Tecniche di Progettazione: Design Patterns GoF: Startegy 1 Strategy pattern: the duck 2 Strategy pattern: the duck 3 The rubber duck 4 First solution Override fly() Class Rubberduck{ fly() { \\ do nothing
DettagliLaboratorio di Progettazione di Sistemi Software Introduzione
Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring
DettagliDesign Principle. immagini da SOLID Motivational Posters, by Derick Bailey
Design Pattern Design Principle immagini da SOLID Motivational Posters, by Derick Bailey Single Responsibility Principle Single Responsibility Principle A class should have only one reason to change. Open
DettagliAn Introduction to Design Patterns
An Introduction to Design Patterns Fabrizio Maria Maggi Institute of Computer Science (The java code and the material is taken from: https://www.tutorialspoint.com/design_pattern/design_pattern_overview.htm)
DettagliDesign Patterns. fonti: [Gamma95] e [Pianciamore03] Autori: Giacomo Gabrielli, Manuel Comparetti
Design Patterns fonti: [Gamma95] e [Pianciamore03] Autori: Giacomo Gabrielli, Manuel Comparetti 1 Definizione Ogni pattern descrive un problema che si presenta frequentemente nel nostro ambiente, e quindi
DettagliLaboratorio di Progettazione di Sistemi Software Introduzione
Laboratorio di Progettazione di Sistemi Software Introduzione Riccardo Solmi Indice degli argomenti Delimitazione contenuti del corso UML Design Patterns Refactoring 2 Bibliografia Design Patterns Design
DettagliEsercizi design patterns. Angelo Di Iorio,
Esercizi design patterns Angelo Di Iorio, diiorio@cs.unibo.it Esercizio 1 Una parete, che contiene porte e finestre, deve essere dipinta con una vernice. Ogni barattolo contiene una data quantità di vernice,
DettagliLaboratorio di Sistemi Software UML per Design Patterns e Refactoring
TITLE Laboratorio di Sistemi Software UML per Design Patterns e Refactoring Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi Class Diagram Object
DettagliProgettazione! Progettazione! Progettazione! Progettazione!
Creare un oggetto specificandone la classe esplicitamente! Orienta ad una particolare implementazione invece che ad una interfaccia! Può complicare i cambiamenti futuri! E meglio creare oggetti indirettamente!
DettagliGraphs: Cycles. Tecniche di Programmazione A.A. 2012/2013
Graphs: Cycles Tecniche di Programmazione Summary Definitions Algorithms 2 Definitions Graphs: Cycles Cycle A cycle of a graph, sometimes also called a circuit, is a subset of the edge set of that forms
DettagliA.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio
A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà
DettagliOO design pattern. Design pattern: motivazioni
Design pattern: motivazioni OO design pattern La progettazione OO è complessa Progettare sw OO riusabile ed evitare (o, almeno, limitare) la riprogettazione è ancor più complesso I progettisti esperti
DettagliLinguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A I/O, thread, socket in Java
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Esercitazione I/O, thread, socket in Java
DettagliLe piccole cose che fanno dimagrire: Tutte le mosse vincenti per perdere peso senza dieta (Italian Edition)
Le piccole cose che fanno dimagrire: Tutte le mosse vincenti per perdere peso senza dieta (Italian Edition) Istituto Riza di Medicina Psicosomatica Click here if your download doesn"t start automatically
DettagliResources and Tools for Bibliographic Research. Search & Find Using Library Catalogues
Resources and Tools for Bibliographic Research Search & Find Using Library Catalogues November 28, 2011 Donata Pieri Index Definition University of Padova Library System Catalogue CaPerE E-journals Catalogue
DettagliSOMMARIO DESIGN PATTERN
INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 DESIGN PATTERN
DettagliAnalisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio
Seminario di Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio Corso di Ingegneria dei Sistemi Software e dei Servizi in Rete Parte 5. Evoluzione
DettagliLaboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring
TITLE Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi
DettagliUML: Aggregazione. class A { int s; public void sets(int){ }; public int gets() { }; class B {A ob; public void usea() { }; }
UML: Aggregazione class A { int s; public void sets(int){ ; public int gets() { ; class B {A ob; public void usea() { ; Aggregation - Composition Use aggregation (has-a) when the lifecycle of the partecipating
DettagliSOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE. Introduzione. Cos è un design pattern. Cos è un design pattern
INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it DESIGN PATTERN
DettagliCopyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem.
CRWM CRWM (Web Content Relationship Management) has the main features for managing customer relationships from the first contact to after sales. The main functions of the application include: managing
DettagliFinite Model Theory / Descriptive Complexity: bin
, CMPSCI 601: Recall From Last Time Lecture 19 Finite Model Theory / Descriptive Compleity: Th: FO L DSPACE Fagin s Th: NP SO. bin is quantifier-free.!#"$&% ('*), 1 Space 0 1 ) % Time $ "$ $ $ "$ $.....
DettagliGeneral info on using shopping carts with Ingenico epayments
Tabella dei contenuti 1. Disclaimer 2. What is a PSPID? 3. What is an API user? How is it different from other users? 4. What is an operation code? And should I choose "Authorisation" or "Sale"? 5. What
DettagliAlcuni design pattern
Alcuni design pattern Cosa sono i design pattern I problemi incontrati nello sviluppo di grossi progetti software sono spesso ricorrenti e prevedibili I design pattern sono schemi di soluzioni riutilizzabili
DettagliINTERNET & MARKETING INNOVATIVE COMMUNICATION.
INTERNET & MARKETING INNOVATIVE COMMUNICATION www.sunet.it Passion Our passion to what we do every day allows us to have a special creativity and constantly improve the process of realization and execution.
DettagliTecniche di Progettazione: Design Patterns. GoF: Mediator Memento Prototype Visitor
Tecniche di Progettazione: Design Patterns GoF: Mediator Memento Prototype Visitor 1 Design patterns, Laura Semini, Università di Pisa, Dipartimento di Informatica. Mediator 2 Design patterns, Laura Semini,
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Storia Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliDesign Principle. immagini da SOLID Motivational Posters, by Derick Bailey
Design Pattern Design Principle immagini da SOLID Motivational Posters, by Derick Bailey Single Responsibility Principle Single Responsibility Principle A class should have only one reason to change. Open
DettagliDesign patterns in Java
tesi di laurea Anno Accademico 2012/13 relatore Ch.mo prof. Porfirio Tramontana candidato Luciano Amitrano Matr. 534/2042 Progettare SW a oggetti è difficoltoso I progettisti devono cercare di far coesistere
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
DettagliConstant Propagation. A More Complex Semilattice A Nondistributive Framework
Constant Propagation A More Complex Semilattice A Nondistributive Framework 1 The Point Instead of doing constant folding by RD s, we can maintain information about what constant, if any, a variable has
DettagliI CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO
I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO READ ONLINE AND DOWNLOAD EBOOK : I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO
DettagliSingle-rate three-color marker (srtcm)
3. Markers Pag. 1 The Single Rate Three Color Marker (srtcm) can be used as component in a Diffserv traffic conditioner The srtcm meters a traffic stream and marks its packets according to three traffic
DettagliSome reasoned reflections on the real difference between OO and structured development stuff derived from a class on OO testing
Ingegneria del SW - ottobre 2013 Some reasoned reflections on the real difference between OO and structured development stuff derived from a class on OO testing Enrico Vicario Dipartimento di Ingegneria
DettagliScheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4
Course of Multimedia Internet (Sub-course Reti Internet Multimediali ), AA 2010-2011 Prof. 4. Scheduling Pag. 1 Scheduling In other architectures, buffering and service occur on a per-flow basis That is,
DettagliMarketing non Convenzionale: Viral, Guerrilla e prospettive future (Italian Edition)
Marketing non Convenzionale: Viral, Guerrilla e prospettive future (Italian Edition) Luca Taborelli Click here if your download doesn"t start automatically Marketing non Convenzionale: Viral, Guerrilla
DettagliLaboratorio di Progettazione di Sistemi Software Progetto: UMLPatterns2Java
Laboratorio di Progettazione di Sistemi Software Progetto: UMLPatterns2Java Riccardo Solmi Progetto UMLPatterns2Java Progettare ed implementare uno strumento generativo che velocizzi l applicazione programmatica
DettagliFiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note
Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note M. Teresa Della Beffa Click here if your download doesn"t start automatically Fiori di campo. Conoscere, riconoscere
DettagliProgrammazione Object-Oriented Interfacce Ereditarietà vs Composizione Alcuni Design Patterns
UNIVERSITA DI FIRENZE Facoltà di Ingegneria 4 Programmazione Object-Oriented Interfacce Ereditarietà vs Composizione Alcuni Design Patterns Giacomo Bucci Programmazione OO 2011-2012 G. Bucci 1 Contenuto
DettagliTesti del Syllabus. Docente POGGI AGOSTINO Matricola:
Testi del Syllabus Docente POGGI AGOSTINO Matricola: 004617 Anno offerta: 2013/2014 Insegnamento: 06015 - INGEGNERIA DEL SOFTWARE Corso di studio: 3050 - INGEGNERIA INFORMATICA, ELETTRONICA E DELLE TELECOMUNICAZIONI
DettagliLaboratorio di Progettazione di Sistemi Software Introduzione
Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring
DettagliCollege Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK
College Algebra Logarithms: Denitions and Domains Dr. Nguyen nicholas.nguyen@uky.edu Department of Mathematics UK November 9, 2018 Agenda Logarithms and exponents Domains of logarithm functions Operations
DettagliEsercitazione di lunedì - TUTTE LE MATRICOLE -
1 Esercitazione di lunedì - TUTTE LE MATRICOLE - 2 Pre-esercitazione - Prova a fare il primo esercizio guidato in modo da riprendere le fila del discorso fatto a lezione su come strutturare un progetto.
DettagliCustomer Centric/Inquiry/E-bill. Tanya Enzminger
Customer Centric/Inquiry/E-bill Tanya Enzminger Customer Centric E-bill On-line Electronic Billing system Real-time viewing of customer data including statement, payment, toll usage and other information
DettagliAnsia e Attacchi di Panico - Breve Corso di Auto- Terapia per Risolvere il Problema (Italian Edition)
Ansia e Attacchi di Panico - Breve Corso di Auto- Terapia per Risolvere il Problema (Italian Edition) Click here if your download doesn"t start automatically Ansia e Attacchi di Panico - Breve Corso di
DettagliAVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION
AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION READ ONLINE AND DOWNLOAD EBOOK : AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION PDF Click button to download
DettagliCanti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition)
Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition) L. Lizio-Bruno Click here if your download doesn"t start automatically Canti Popolari delle Isole Eolie e di Altri Luoghi
DettagliDownloading and Installing Software Socio TIS
Object: Downloading and Installing Software Socio TIS compiler: L.D. Date Revision Note April 17 th 2013 --- For SO XP; Win 7 / Vista step Operation: Image A1 Open RUN by clicking the Start button, and
DettagliKeep calm, observe and assess
Keep calm, observe and assess Using the video sitcoms in Just Right to assess competences Data: 2 febbraio, 2017 Relatore: Roy Bennett 1 Just Right! & competences 2 Support Pearson Academy 3 SESSION AIMS
DettagliIngegneria del Software. Introduzione al pattern
Ingegneria del Software Introduzione al pattern 1 Esempio introduttivo (1/3) Si pensi ad un modello di oggetti che rappresenta gli impiegati (Employee) di una azienda. Tra gli impiegati esistono, ad esempio,
DettagliLaboratorio di Sistemi Software Progetto Pattern Generator Specifica iniziale
TITLE Laboratorio di Sistemi Software Progetto Pattern Generator Specifica iniziale Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Definizione del problema Pattern Generator Libreria Java per definire dei
DettagliAccesso Mul*plo - modelli
Accesso Mul*plo - modelli Conceptual Model of Mul/ple Access A B C D Station A Station B Station C Station D Master Channel The Master does not know if and how many packets are present in each queue (i.e.,
DettagliSi faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.
Scuola Sec. SECONDO Grado Gara 2 IND - 15/16 ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[a],b)
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
DettagliSRT064 BTH SRT051 BTH SRT052 BTH
KIT FOR TRUCK BRAKE TESTERS SRT051 BTH SRT052 BTH OPERATOR S MANUAL SRT064BTH SRT051BTH SRT052BTH CONTENTS 1. INTRODUCTION...1 2. Description of SRT064BTH Kit...2 3. Description of SRT051BTH Kit...2 4.
DettagliUniversità degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica. Programmazione orientata agli Oggetti
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Programmazione orientata agli Oggetti OOP L 06b 1 L06b: Metamorfosi 2 Metamorfosi? Vuol dire che
DettagliIn mathematics, a prime number is a natural number that is divisible only by 1 and itself.
THE SEQUENCE OF THE PRIMES Author: Aníbal Fernando Barral Argentina 11 / 01 / 1954 Civil Engineer (U.N.R.) nibral@tiscali.it Abstract In mathematics, a prime number is a natural number that is divisible
DettagliTemperatura di Lavoro / Working Temperature. Distanza di controllo/ Distance control
Nauled Once upon a light Rev. 03/2018 cod. NC-T2.4-02 DIMMER LED CCT (TEMPERATURA DI COLORE REGOLABILE) CON TELECOMANDO TOUCH 2.4G RF (4 ZONE) / CCT (COLOR TEMPERATURE ADJUSTABLE) LED DIMMER WITH 2.4G
DettagliViaggio di un naturalista intorno al mondo (Viaggi e Viaggiatori) (Italian Edition)
Viaggio di un naturalista intorno al mondo (Viaggi e Viaggiatori) (Italian Edition) Charles Darwin Click here if your download doesn"t start automatically Viaggio di un naturalista intorno al mondo (Viaggi
DettagliInstallazione di DraftSight Enterprise
PROCEDURA PER L INSTALLAZIONE DELLE LICENZE DI RETE DRAFTSIGHT DraftSight è un software di disegno 2D, che nella versione Enterprise prevede delle installazioni Client sui computer dei disegnatori, i quali
DettagliTrusted Intermediaries
Sicurezza Trusted Intermediaries Symmetric key problem: How do two entities establish shared secret key over network? Solution: trusted key distribution center (KDC) acting as intermediary between entities
DettagliIntroduzione alla storia dell intelligenza artificiale e della robotica
STORIA DELLE CONOSCENZE SCIENTIFICHE SULL UOMO E SULLA NATURA a.a. 2016 2017 Prof., PhD. Introduzione alla storia dell intelligenza artificiale e della robotica Modulo I Introduzione I propose to consider
DettagliWEB OF SCIENCE. COVERAGE: multidisciplinary TIME RANGE: DOCUMENT TYPES: articles, proceedings papers, books
WEB OF SCIENCE COVERAGE: multidisciplinary TIME RANGE: 1985- DOCUMENT TYPES: articles, proceedings papers, books WEB OF SCIENCE: SEARCH you can add one or more search field you can limit results to a specific
DettagliDIETA SENZA GLUTINE Per CALCIATORI: Migliora il Modo in cui ti Nutri per Avere una Migliore Performance (Italian Edition)
DIETA SENZA GLUTINE Per CALCIATORI: Migliora il Modo in cui ti Nutri per Avere una Migliore Performance (Italian Edition) Mariana Correa Click here if your download doesn"t start automatically DIETA SENZA
DettagliSoftware Engineering
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Software Engineering Design Patterns Prof. Agostino Poggi What are Design Patterns? Design patterns
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
DettagliObject Oriented Programming: Inheritance
Object Oriented Programming: Inheritance Shahram Rahatlou University of Rome La Sapienza Corso di Programmazione++ http://www.roma1.infn.it/cms/rahatlou/programmazione++/ Roma, 11 June 2007 Today s Lecture
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
DettagliL ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo
Design Pattern L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo sviluppo dei programmi, il loro mantenimento,
DettagliLa mia storia Come tante altre (Italian Edition)
La mia storia Come tante altre (Italian Edition) Antonio Larivera Click here if your download doesn"t start automatically La mia storia Come tante altre (Italian Edition) Antonio Larivera La mia storia
DettagliCapitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java
Capitolo 1 Introduzione Cay S. Horstmann Concetti di informatica e fondamenti di Java Obiettivi del capitolo Comprendere la distinzione fra linguaggi macchina e linguaggi di programmazione di alto livello
DettagliAnalisi dell attività e definizione dei requisiti. Definizione dei requisiti
Analisi dell attività e definizione dei requisiti Definizione dei requisiti Definizione dei requisiti Raccolta dei dati Interpretazione dei dati Definizione dei requisiti Requisiti e tecniche di raccolta
DettagliCORSO MOC55133: PowerShell for System Center Configuration Manager Administrators. CEGEKA Education corsi di formazione professionale
CORSO MOC55133: PowerShell for System Center Configuration Manager Administrators CEGEKA Education corsi di formazione professionale PowerShell for System Center Configuration Manager Administrators This
DettagliHow to apply for the first issue of the residence permit for study. Come fare domanda di primo rilascio di permesso di soggiorno per studio
How to apply for the first issue of the residence permit for study Come fare domanda di primo rilascio di permesso di soggiorno per studio You need the so-called «richiesta di rilascio/rinnovo del permesso
DettagliIl pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione
Il pattern Factory Il pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione degli oggetti e delle problematiche
Dettaglidesign pattern una soluzione progettuale generale a un problema ricorrente
DESIGN PATTERN DESIGN PATTERN Un design pattern può essere definito "una soluzione progettuale generale a un problema ricorrente". Esso non è una libreria o un componente di software riusabile, quanto
DettagliGocce d'anima (Italian Edition)
Gocce d'anima (Italian Edition) Marco Fusaroli Click here if your download doesn"t start automatically Gocce d'anima (Italian Edition) Marco Fusaroli Gocce d'anima (Italian Edition) Marco Fusaroli Non
DettagliDesign Patterns. Introduzione 2. Introduzione 3
Design Patterns Introduzione Design patterns: factory, singleton, adapter, composite, decorator, observer Introduzione I Design Patterns sono stati applicati per la prima volta nell architettura Per costruire
DettagliConoscere l uso delle collezioni in Java. Conoscere il concetto di Generics (programmazione
1 Conoscere l uso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali classi di Collection usare in casi specifici Conoscere
Dettagli100 consigli per vivere bene (Italian Edition)
100 consigli per vivere bene (Italian Edition) Raffaele Morelli Click here if your download doesn"t start automatically 100 consigli per vivere bene (Italian Edition) Raffaele Morelli 100 consigli per
DettagliLe interfacce nella OOP ad ereditarietà singola
Le interfacce nella OOP ad ereditarietà singola Cosa è un interfaccia? Implementing an interface allows a class to become more formal about the behavior it promises to provide. Interfaces form a contract
DettagliUna Ricerca Erboristica (Italian Edition)
Una Ricerca Erboristica (Italian Edition) Matteo Politi Click here if your download doesn"t start automatically Una Ricerca Erboristica (Italian Edition) Matteo Politi Una Ricerca Erboristica (Italian
DettagliECCO LE ISTRUZIONI PER INSERIRE IL MATERIALE RICHIESTO DAL BANDO TEATRO SENZA FILO CONTEST:
ECCO LE ISTRUZIONI PER INSERIRE IL MATERIALE RICHIESTO DAL BANDO TEATRO SENZA FILO CONTEST: 1) Registrati su www.circyouity.com e creati un profilo personale o del gruppo* (non con il nome del progetto!)
DettagliIngegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 9. Macchine a stati Dipartimento di Informatica Università di Pisa A.A. 2014/15 so far Modello del dominio Modello statico: diagrammi delle classi Modello dinamico : diagrammi di
DettagliPreghiere potenti e miracolose (Italian Edition)
Preghiere potenti e miracolose (Italian Edition) Beppe Amico (curatore) Click here if your download doesn"t start automatically Preghiere potenti e miracolose (Italian Edition) Beppe Amico (curatore) Preghiere
DettagliWELCOME UNIPA REGISTRATION:
WELCOME This is a Step by Step Guide that will help you to register as an Exchange for study student to the University of Palermo. Please, read carefully this guide and prepare all required data and documents.
DettagliSolidNetwork License Manager
PROCEDURA PER L AGGIORNAMENTO DELLE LICENZE DI RETE SOLIDWORKS PREMESSE Il Gestore delle licenze flottanti SolidWorks, denominato SolidNetWork License Manager (SNL), deve essere aggiornato ALMENO alla
DettagliFamiglia Spirituale nel XXI secolo (La) (Italian Edition)
Famiglia Spirituale nel XXI secolo (La) (Italian Edition) Peter Roche de Coppens Click here if your download doesn"t start automatically Famiglia Spirituale nel XXI secolo (La) (Italian Edition) Peter
DettagliRESTful Services. Sistemi Informativi Aziendali A.A. 2012/2013
RESTful Services Summary Foundations REST in Java Foundations REST Representational State Transfer Firstly defined by Roy Fielding (2000) Architectural Styles and the Design of Network-based Software Architectures
DettagliNATIONAL SPORT SCHOOL
NATIONAL SPORT SCHOOL Mark HALF-YEARLY EXAMINATION 2016 Level 4-6 FORM 1 ITALIAN TIME: 30 minutes LISTENING COMPREHENSION TEST (20 punti) Teacher s Paper Please first read the instructions carefully by
DettagliDatabase support Prerequisites Architecture Driver features Setup Stored procedures Where to use. Contents
VEGA ODBC DRIVER Database support Prerequisites Architecture Driver features Setup Stored procedures Where to use Contents Database support CA-IDMS/SQL including table procedures CA-IDMS/DML via stored
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
DettagliArchitetture Software
Architetture Software Alessandro Martinelli 25 novembre 2014 Coesione e Accoppiamento Principi di Progettazione Design Pattern Creazionali Design Pattern Strutturali Design Pattern Comportamentali Fondamenti
DettagliHow to apply for the RENEWAL of the residence permit for study purpose. Come fare domanda di RINNOVO di permesso di soggiorno per studio
How to apply for the RENEWAL of the residence permit for study purpose Come fare domanda di RINNOVO di permesso di soggiorno per studio You need the so-called «richiesta di rilascio/rinnovo del permesso
DettagliCorso di Laurea in Informatica a.a
Corso di Laurea in Informatica anno di corso codice denominazione cfu 1 E3101Q106 PROGRAMMAZIONE 2 turno A-L PROGRAMMAZIONE 2 turno M-Z settore scientifico disciplinare tipo semestre 8 INF/01 obbligatorio
Dettagli