Model View Controller
|
|
- Amanda Leoni
- 5 anni fa
- Visualizzazioni
Transcript
1 Model View Controller in breve Design Patterns Una scelta cruciale, programmando OO, è decidere quali classi definire e che responsabilità abbiano. I Design Pattern (schemi progettuali, pattern è usato per indicare una soluzione condivisa a un problema comune) descrivono l'organizzazione ad alto livello di soluzione a problemi comuni. I design pattern sono un argomento prioritario per l'oo design 1
2 Il pattern MVC MVC è l'acronimo di Model-View-Controller Il Model è la rappresentazione interna, il modello, del problema da risolvere. La View (una View) è uno dei possibili modi di visualizzare aspetti del modello. Il Controller gestisce l'input utente e le relative modifiche. Questi tre componenti solitamente sono implementati in classi separate. MVC : Model View Controller E' una architettura per applicazioni interattive, originariamente sviluppata per Smalltalk allo Xerox PARC (1979). Partiziona l'applicazione in modo da facilitare scalabilità manutenibilità 2
3 Model Logica applicativa, contiene le operazioni che realizzano le funzionalità operative della applicazione. modelli e algoritmi di manipolazione dei dati accesso a database Il modello deve essere indipendente sia dal Controller che dalle View. Fornisce però metodi che loro usano. View Implementa tutti gli aspetti di visualizzazione del modello (grafici, tabelle, ) Un modello può avere molte view diverse, es., grafico e tabella numerica Quando il modello modifica qualcosa, lo comunica alla view. La view può reagire anche in tempi successivi. La View mostra cosa sta facendo il Model. E' un osservatore passivo, non influenza il modello in alcun modo. Il modello deve essere indipendente dalle View, fornisce solo metodi di supporto all'output. 3
4 Controller Riceve tutti gli input dell'utente e gestisce i relativi eventi. Decide che parti di codice attivare a seguito di ciascun evento. Decide cosa deve fare il modello. La progettazione del Controller dipende dal Model Il Model non deve dipendere dai controller. Comunicazioni del Controller Comunica con la view determina che oggetti devono essere elaborati (es. che oggetti sono stati selezionati col click del mouse) le reazioni del controller devono essere indipendenti dagli elementi visivi Setta variabili e chiama metodi del modello il modello elabora le nuove informazioni e notifica alla view gli aggiornamenti relativi 4
5 Interazioni View Controller View e controller sono strettamente interconnessi, comunicano molto fra loro Normalmente sono accoppiati: un controller per ogni view A volte implementati entrambi nella stessa classe, mai col modello. Il modello deve essere indipendente. Vantaggi MVC Combinare elementi di MVC in un'unica classe o utilizzare variabili globali non permette di scalare. un modello di solito ha più di una view, ognuna deve essere aggiornata a seguito di nuovi risultati del modello La separazione facilita la manutenzione. più facile aggiungere nuove view, potrebbero richiedere nuovi dati dal modello, ma le view vecchie continuano a funzionare le view possono essere modificate indipendentemente l'una dall'altra 5
6 MVC per Web L'interazione modello-view è difficile da supportare efficientemente. Il modello comunica solo col controller. Tutta l'interazione con l'utente avviene attraverso la view. Si, ma Un esempio implementato? Una possibilità è affidarsi ai template standard di progetti già predefiniti nelle IDE. Sono ben fatti, comprensivi di considerazioni importanti qui trascurate (multitasking, responsività, scalabilità, ) Nel seguito un esempio minimale di una delle possibilità per la realizzazione (altre alternative possibili). Realizzazione c# winform su tre classi (View, Controller, Model) in cui la view espone una textbox (chiamata txtconsole) aggiornata nel model. Vittorio Maniezzo - University of Bologna 12 6
7 L' idea qui 2 classi non MVC public partial class Form1 : Form Writer W = new Writer(); public Form1() InitializeComponent(); W.FlushText += vieweventhandler; // associo il codice all'handler nella applogic // codice gestione evento scrittura generato fuori private void vieweventhandler(object sender, string texttowrite) txtconsole.appendtext(texttowrite+environment.newline); // invocazione logica applicativa private void btnstart_click(object sender, EventArgs e) W.doSomathing(); // logica applicativa class Writer public delegate void vieweventhandler(object sender, string texttowrite); // questo gestisce l'evento public event vieweventhandler FlushText; // questo genera l'evento public void dosomathing() for(int i=0;i<10;i++) FlushText(this, $"i=i"); Vittorio Maniezzo - University of Bologna 13 Nel caso MVC public partial class Form1 : Form Controller C = new Controller(); public Form1() InitializeComponent(); C.FlushText += vieweventhandler; // associo il codice all'handler nella applogic private void vieweventhandler(object sender, string texttowrite) txtconsole.appendtext(texttowrite+environment.newline); private void btnstart_click(object sender, EventArgs e) C.doSomething(); // logica applicative COME PRIMA class Controller Writer W = new Writer(); public delegate void vieweventhandler(object sender, string texttowrite); // questo gestisce l'evento public event vieweventhandler FlushText; // questo genera l'evanto public Controller() W.FlushText += controllervieweventhandler; private void controllervieweventhandler(object sender, string texttowrite) FlushText(this,textToWrite); public void dosomething() W.doSomathing(); class Writer COME PRIMA public delegate void vieweventhandler(object sender, string texttowrite); // questo gestisce l'evento public event vieweventhandler FlushText; // questo genera l'evanto public void dosomathing() for(int i=0;i<10;i++) FlushText(this, $"i=i"); Vittorio Maniezzo - University of Bologna 14 7
8 Oppure: la view public partial class frmview : Form, ItxtConsole Controller C; protected void OnPropertyChanged(PropertyChangedEventArgs e) PropertyChangedEventHandler handler = PropertyChanged; if (handler!= null) handler(this, e); protected void OnPropertyChanged(string propertyname) OnPropertyChanged(new PropertyChangedEventArgs(propertyName)); public event PropertyChangedEventHandler PropertyChanged; public string textconsole get return txtconsole.text; set txtconsole.appendtext(value + Environment.NewLine); OnPropertyChanged("textConsole"); public frmview() InitializeComponent(); C = new Controller(this); NB: importante! ItxtConsole qui definita nel controller queste servono per generare un evento ogni volta che la property viene aggiornata. Le si può omettere se non servono eventi. questa è la property che viene aggiornata da fuori Inizializzazione del controller Vittorio Maniezzo - University of Bologna 15 Oppure: il controller interface ItxtConsole string textconsole get; set; class Controller private readonly ItxtConsole view; Model M; public Controller(ItxtConsole txtconsoletext) this.view = txtconsoletext; M = new Model(txtConsoleText); serve a rendere visibile qualcosa della view agli altri. Può essere definita anche con la View Serve a passare la view (la textbox) al model NB: view come ItxtConsole public void DoSomething() M.DoSomething();... Vittorio Maniezzo - University of Bologna 16 8
9 Oppure: il model class Model private readonly ItxtConsole view; public Model(ItxtConsole txtconsoletext) this.view = txtconsoletext; public void DoSomething() view.textconsole = Faccio qualcosa";... La view, come vista dal model Inizializz. variabile locale privata. Normale in OO Questo va sulla view Vittorio Maniezzo - University of Bologna 17 9
Model-View- Controller
Model-View- Controller A. FERRARI MVC Il Model-View-Controller è un pattern architetturale molto diffuso nello sviluppo di sistemi software, in particolare nell'ambito della programmazione orientata agli
DettagliMVC - Principio. MVC Model View Controller. MVC - Terminologia. MVC - Funzionamento. Richiesta. Controller. Model. Risposta. View
MVC View Controller! Si tratta di un pattern di progettazione introdotto originariamente con Smalltalk (1980 Xerox)! Si basa su astrazioni presenti in tutte le applicazioni dotate di interfaccia grafica!
DettagliCalcolatrice in Java: esempi di DP
Calcolatrice in Java: esempi di DP In questo articolo vedremo come realizzare una piccola calcolatrice in Java, che ci permetterà di mettere in evidenza alcuni design pattern molto utili quando si programma.
DettagliEsercitazione sui Design Pattern. lunedì 29 aprile 13
Esercitazione sui Design Pattern Pattern Creazionali Singleton Permette la creazione di una sola istanza della classe all interno dell applicazione Fornisce un metodo con cui ottenere l istanza Il costruttore
DettagliModel View Controller
Model View Controller Ingegneria del Software B Università degli Studi di Brescia Pattern Architetturali Concetti caratterizzanti l architettura di un software Separazione di più alto livello in parti
DettagliC# delegates. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 1. Delegate
C# delegates Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 1 Delegate I delegati possono essere visti come definizioni di tipi per puntatori a funzione. Permettono di
DettagliModel View Controller (MVC)
(MVC) in sintesi è una applicazione del pattern alle interfaccie utente (GUI ma non necessariamente) lunga tradizione in smalltalk non è propriamente un design patter ma un architectural pattern perché
DettagliListBox e ComboBox. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
ListBox e ComboBox Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni GESTIRE COLLEZIONI DI DATI Due tipi di controllo, ListBox e ComboBox, consentono di gestire collezioni di dati unidimensionali.
DettagliModello a oggetti. Il modello MVC. Laboratorio di Sistemi Interattivi. Lezione 3: Ancora su MVC e altro
Laboratorio di Lezione 3: Ancora su MVC e altro 1 Modello a oggetti Approccio monolitico vs. approccio a componenti Interfaccia Utente come collezione di oggetti di interazione (widgets) Utente manipola
DettagliProgrammazione Java Avanzata PATTERN
Programmazione Java Avanzata PATTERN Anno 2011/2012 Pattern Una soluzione progettuale generale a un problema ricorrente Elementi per il riuso di software ad oggetti Vantaggiosi e obbligatori da usare Pattern
DettagliModelli e strumenti per la generazione automatica di codice
tesi di laurea Anno Accademico 2005-2006 relatore Ch.mo prof. Porfirio Tramontana candidato Valerio Lombardi Matr. 534/237 Contesto e Contributo Fusione tra il mondo della modellazione e della programmazione
DettagliDocumentazione VoisMonitorDll
Documentazione VoisMonitorDll VoisMonitorDll è una libreria di funzioni realizzata in.net che permette di interfacciare un applicazione Windows con il VoiSmart PBX. Classe VoisMonitor E la classe che permette
DettagliProgrammazione a Oggetti Modulo B
Programmazione a Oggetti Modulo B Design Pattern Dott. Alessandro Roncato 18/10/2011 Design Patters I Design Patters sono soluzioni di progettazione standard e ben collaudate che possono essere usate in
DettagliIngegneria del Software Model View Controller
Ingegneria del Software 1 07 - Model View Controller Martedì, Aprile 4, 2016 Claudio Menghi, Alessandro Rizzi April 5, 2017 1 Contents Ingegneria del Software 1 (Claudio Menghi, Alessandro Rizzi ): 07
DettagliC # delegates. Delegate 01/10/2017. Vittorio Maniezzo Università di Bologna
C # delegates Vittorio Maniezzo Università di Bologna Delegate I delegatipossonoesserevisticome definizionidi tipi per puntatoria funzione. Permettonodi averevariabili(istanze) type-safe (static) che puntano
DettagliDesign Pattern Comportamentali
Design Pattern Comportamentali Focalizzano sul controllo del flusso tra oggetti Descrivono le comunicazioni tra oggetti Aiutano a valutare le responsabilità assegnate agli oggetti Suggeriscono modi per
DettagliProgrammazione Java Avanzata. MVC Model, View,, Controller. Ing. Gianluca Caminiti
Programmazione Java Avanzata MVC Model, View,, Controller Ing. Gianluca Caminiti Uso di JSP: complessità crescente Invocare codice Java direttamente. Posizionare tutto il codice Java in una pagina JSP
DettagliCODE MODEL - Modalità di scrittura del codice
CODE MODEL - Modalità di scrittura del codice Visual Studio supporta due modelli per la codifica di pagine web: - Codice Inline: Questo modello è il più vicino al tradizionale ASP. Tutto il markup HTML
DettagliProgrammazione orientata agli oggetti. Ivan Lanese
Programmazione orientata agli oggetti Ivan Lanese Argomenti Programmazione orientata agli oggetti Classi Oggetti Costruttori Scrivere grosse applicazioni La gran parte delle applicazioni sono GROSSE Windows
DettagliProgettazione Object-Oriented
Progettazione Object-Oriented Generalità, Relazione fra OOA e OOD Concetti di base: Classi e Oggetti, Relazioni fra oggetti, Ereditarietà e Polimorfismo La specifica del Progetto: notazione UML Una metodologia
Dettagli- model --> responsabile della gestione del dato (offre i metodi di accesso/modifica al dato)
Nell'articolo di oggi realizzeremo il backend del nostro componente, usando il pattern MVC (Model View Controller). Per chi non lo conoscesse si tratta di uno dei pattern più usati nello sviluppo software,
DettagliCompleta la seguente definizione di class MemAddress che realizza il tipo di dato indirizzo di memoria.
ESERCIZIO 1 Completa la seguente definizione di class MemAddress che realizza il tipo di dato indirizzo di memoria. class MemAddress //OVERVIEW: un indirizzo di memoria ha una base ed un offset, entrambi
DettagliFondamenti di Informatica L-A. Esercitazione 6
Fondamenti di Informatica L-A Esercitazione 6 Passaggio dei Parametri nelle Funzioni Ordinamento di Vettori Paolo Torroni Università degli Studi di Bologna Laurea in Ingegneria Elettronica e delle Telecomunicazioni
DettagliProgrammazione orientata agli oggetti. Ivan Lanese e Cosimo Laneve
Programmazione orientata agli oggetti Ivan Lanese e Cosimo Laneve Argomenti Programmazione orientata agli oggetti Classi Oggetti Costruttori Programmazione orientata agli oggetti È un paradigma di programmazione
DettagliTris elementare. Form1
Tris elementare Form1 Predisporre un Form1 ed inserire una PictureBox al suo interno. Impostare una dimensione quadrata per essa (es. 64 x 64). Per la PictureBox selezionare una immagine (nel mio esempio
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa
DettagliLaboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012
Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web Dati View Control
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
DettagliIL PROCESSO di PROGETTAZIONE
IL PROCESSO di PROGETTAZIONE In questa lezione vedremo: Ruolo della modellazione nella comunicazione tipi di modello nel progetto I modelli del prodotto Interpretazione delle informazioni del progetto
DettagliConfigurazione di una vs. Laboratorio di sistemi interattivi. Dal modello formale all implementazione
Laboratorio di sistemi interattivi Lezione 10: Dal modello formale all implementazione General Course Information 1 Dal modello formale all implementazione Interprete universale del formalismo possibile
DettagliLaboratorio di Algoritmi e Strutture Dati. Esercizi
Laboratorio di Algoritmi e Strutture Dati Esercizi Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari Aldo Moro 1 Operatori Indispensabili Ogni Classe che
DettagliRipasso Concetti Pratica in Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 3
ECDL - Database Ripasso European Computer Driving Licence - Modulo 5 - Database LEZIONE 3 Ripasso Cosa sono le relazioni? Come si gestiscono le relazioni in Access? Cosa si intende per query? Come interroghiamo
Dettagli14 - Metodi e Costruttori
14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliJava: Definire Classi e Creare Oggetti
Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 21 marzo 2014 Introduzione Programmare con gli Oggetti Un programma Java è costituito
DettagliMODEL-VIEW-CONTROLLER PROBLEMA
MODEL VIEW CONTROLLER DESIGN PATTERN MODEL-VIEW-CONTROLLER INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it
DettagliFileHandler. +getcontent():string +getline(number:int):string
Proxy 85 12. Proxy (GoF pag. 207) 12.1. Descrizione Fornisce una rappresentazione di un oggetto di accesso difficile o che richiede un tempo importante per l accesso o creazione. Il Proxy consente di posticipare
DettagliAnalisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.
tesi di laurea Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit. Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Luca Anniciello candidato Gianluca
DettagliVerso l architettura MVC-2 i JavaBeans
Verso l architettura MVC-2 i JavaBeans 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Limiti dell approccio PROGRAMMA UNICO Il programma unico (servlet) svolge tre tipi di
DettagliInterfacce. Esempio: interfaccia I con una sola funzione g() public interface I {
Interfacce Una interfaccia è un astrazione per un insieme di funzioni pubbliche delle quali si definisce solo la segnatura, e non le istruzioni. Un interfaccia viene poi implementata da una o più classi
DettagliORDINAMENTO PER SELEZIONE ORDINAMENTO PER SELEZIONE ORDINAMENTO VELOCE CONFRONTI
ORDINAMENTO PER SELEZIONE Per l analisi delle prestazioni di tale algoritmo di ordinamento, si considerano i due cicli for annidati: poiché i confronti avvengono nel ciclo interno si ha che n 2 i= 0 (
DettagliPROVA FINALE Ingegneria del software
PROVA FINALE Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Laboratorio N 3 Cosa faremo oggi 2 Interfaccia grafica e SWING Lettura e scrittura di Files di properties Internazionalizzazione
DettagliOOP in C++ ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi
OOP in C++ Classi e Oggetti Una classe èuntipochehavariabili ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi Una variabile ab di un tipo
DettagliIterator pattern - Step 0
Design Pattern Riferimenti Gamma, Helm, Johnson & Vlissides (1994). Design Patterns (the Gang of Four book). Addison-Wesley. ISBN 0-201-63361-2 Steven J. Metsker. Design pattern in Java. Manuale pratico.
DettagliLe classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
DettagliIl Web-Service SDMX dell ISTAT
Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 05/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Creazione dell esempio d uso...
DettagliEreditarietà e Polimorfismo
Ereditarietà e Polimorfismo Riusare il software A volte si incontrano classi con funzionalità simili In quanto sottendono concetti semanticamente vicini È possibile creare classi disgiunte replicando le
DettagliFUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {
Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliArchitettura MVC-2 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Verso l architettura MVC-2
Architettura MVC-2 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Verso l architettura MVC-2 2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell esecuzione, che rimane alla
DettagliUna funzione riceve dati di ingresso in corrispondenza ai parametri
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliJAVA GENERICS. Angelo Di Iorio Università di Bologna
JAVA GENERICS Angelo Di Iorio Università di Bologna Tipi parametrici In diversi casi è utile definire classi che operano su tipi di dato diverso e implementano un comportamento comune e indipendente dal
DettagliIl Project Management nei progetti IT. La fase di Design. Ing. Giulio Destri. Università degli Studi di Parma Corso di Laurea in Informatica
Il Project Management nei progetti IT La fase di Design Ing. Giulio Destri Università degli Studi di Parma Corso di Laurea in Informatica IngSW - Design - 1 Ing. Giulio Destri 2011 Ing. Giulio Destri,
DettagliFile binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
DettagliFUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliUML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13
UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare
DettagliL architettura MVC (Model- View-Controller) Introduzione
L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,
DettagliDiagramma delle classi
Diagramma delle classi Questo diagramma (mostrato nella pagina successiva) costruito utilizzando lo standard UML mostra le relazioni che ci sono fra le varie classi della nostra applicazione, mostrando
DettagliFUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliCorso Programmazione Java Avanzato
Corso Programmazione Java Avanzato Codice: ITJA0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle tecnologie impiegate per la realizzazione di applicazioni web basate sulla
DettagliFUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {
Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliArchitettura MVC-2. Alberto Belussi. Anno accademico 2006/2007
Architettura MVC-2 Alberto Belussi Anno accademico 2006/2007 Verso l architettura MVC-2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell esecuzione, che rimane alla servlet,
Dettagli«fornire un'interfaccia per la creazione di famiglie di oggetti correlati o dipendenti senza specificare quali siano le loro classi concrete» (GoF)
Introduzione Abstract Factory è creazionale e basato su oggetti ovvero, la creazione degli oggetti è delegata alle istanze di apposite classi Scopo: «fornire un'interfaccia per la creazione di famiglie
DettagliEspressioni: da dove si parte. Critiche al modello. Critiche al modello. Critiche al modello. Risultato. Fondamenti di Informatica T2 Modulo 2
Università degli Studi di Bologna Facoltà di Ingegneria Espressioni: da dove si parte Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 La struttura
DettagliIngegneria del Software B. Il pattern Observer. Ex presentazione realizzata dallo studente Davide Ferrari nell a.a. 2009/2010
Ingegneria del Software B Il pattern Observer Ex presentazione realizzata dallo studente Davide Ferrari nell a.a. 2009/2010 Observer Noto anche come Publish(er)-Subscribe(r), Dependents, Delegation Event
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 4 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
DettagliProgrammazione a Oggetti Metodologie di Programmazione 14 Maggio 2012
Programmazione a Oggetti Metodologie di Programmazione 14 Maggio 2012 Nome: Matricola: Metodologia di Programmazione [ ] Programmazione a Oggetti [ ] Istruzioni Scrivete il vostro nome sul primo foglio.
DettagliDichiarazione di una classe. Dichiarazione ereditarietà
Introduzione Il Java è un linguaggio di programmazione orientato agli oggetti (OOL), perché permette di realizzare in un programma tutti i concetti alla base dell OOP quali: l astrazione dei dati, mediante
DettagliLa classe java.lang.object
La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita
DettagliFUNZIONI FUNZIONI COME COMPONENTI SW
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliLaboratorio 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
DettagliRoberta Gori, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa
Roberta Gori, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa Con riferimento al caso di studio Pisa Mover si consideri la nuova tariffa scontata per i biglietti stazione
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliLa memoria cache. Informatica generale
La memoria cache Nello schema di funzionamento di un calcolatore il processore continuamente preleva informazioni ed istruzioni dalla memoria centrale e scrive in essa informazioni La memoria centrale,
DettagliEspressioni: da dove si parte
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Espressioni: da dove si parte La struttura
DettagliUML UNIFIED MODELING LANGUAGE
UML UNIFIED MODELING LANGUAGE Cos è UML E un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (C, C++, Java, ) Fornisce una serie di diagrammi per rappresentare ogni tipo
DettagliSi consideri il caso di studio 2, Grande distribuzione, e in particolare la gestione della cassa per gli acquisti.
Corso di Ingegneria del software - Primo appello 2009, 16 gennaio C, Montangero, L. Semini Dipartimento di Informatica, Università di Pisa a.a. 2008/09 La prova si svolge a libri chiusi (non è permessa
DettagliOggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto.
Classi e oggetti Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto. OOP Vantaggi facilità di lettura e di comprensione
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 6 Metodologia di Sviluppo - b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione ad oggetti
Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.
DettagliEsercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012
Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliGerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base
Gerarchia fisica di memoria 1 Tempo di accesso Capacità tipica Ricapitolazione di concetti base Sistemi Operativi - T. Vardanega Pagina 92/113 Gerarchia fisica di memoria 2 La cache è suddivisa in blocchi
DettagliUniversità degli Studi di Ferrara
Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018-2019 Programmazione Lezione 10 Esercizi in C Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni precedenti Abbiamo
DettagliFondamenti di Informatica T-1. Classi & Oggetti
Classi & Oggetti 2 Classi Costrutto linguistico che permette di costruire componenti software che: Modellano entità del sistema come tipo di dato, definendone le caratteristiche e le operazioni Possono
DettagliStudio degli algoritmi
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi
DettagliProgrammazione orientata agli oggetti Classi astratte e interfacce
Programmazione orientata agli oggetti Classi astratte e interfacce Fondamenti di Informatica L-B 1 Classi astratte Java ci consente di definire classi in cui uno o più metodi non sono implementati, ma
DettagliALBERI. Angelo Di Iorio Università di Bologna
ALBERI Angelo Di Iorio Università di Bologna Esercizio 1 Implementare una classe Java per memorizzare e leggere informazioni relative a una dinastia Esempio nella prossima slide Per ogni persona: Nome
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
DettagliA. Veneziani - Classi IV A e IV B - Classe stack dotata di interfaccia grafica
A. Veneziani - Classi IV A e IV B - Classe stack dotata di interfaccia grafica Scopo del programma Programmare una classe dotata degli opportuni metodi per simulare uno stack (tramite un vettore) e utilizzare
DettagliAutore: Bandiera Roberto novembre Realizzaree Programmi con Interfaccia Grafica
Realizzaree Programmi con Interfaccia Grafica Per semplicità si propone la realizzazione di una interfaccia grafica mediante i Windows Form. Per introdurre l architettura delle classi di un programma che
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte c versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Dettagli3. Le routine evento in Access 2000/2003
LIBRERIA WEB 3. Le routine evento in Access 2000/2003 Le routine evento possono essere associate a un singolo controllo grafico (caselle di testo, pulsanti di comando, ecc.) presente all interno di una
DettagliProgrammazione orientata agli oggetti Classi astratte e interfacce. Classi astratte - Interfacce
Programmazione orientata agli oggetti Classi astratte e interfacce 1 Classi astratte Java ci consente di definire classi in cui uno o più metodi non sono implementati, ma solo dichiarati Questi metodi
DettagliFormato dei file. Definizione del formato immagine pbm. Il formato immagine pbm
Formato dei file Il formato immagine pbm Il formato immagine pbm consente di rappresentare immagini in bianco e nero. Ogni file rappresenta una immagine come un file testo. Definizione del formato immagine
Dettagli