Framework: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 4:
==Descrizione==
=== Scopi di un framework ===
Il termine [[Lingua inglese|inglese]] ''framework'' può essere tradotto come ''intelaiatura'' o ''struttura'', che è appunto la sua funzione, a sottolineare che al programmatore rimane solo da creare il contenuto vero e proprio dell'applicazione. Lo scopo di un framework è infatti quello di risparmiare allo sviluppatore la riscrittura di [[codice sorgente|codice]] già scritto in precedenza per compiti simili. Questa circostanza si è presentata sempre più spesso man mano che le [[Interfaccia utente|interfacce utente]] sono diventate sempre più complesse, o, più in generale, man mano che è aumentata la quantità di software con funzionalità secondarie simili.
 
Ad esempio, il tipo di interazione con l'utente offerto da un [[menu a tendina]] sarà sempre la stessa indipendentemente dall'applicazione cui il menu appartiene (o almeno questo è ciò che l'utente si aspetta); in casi come questo un framework, che permette di aggiungere la funzionalità di una finestra con un menu a tendina con poche righe di codice sorgente a carico del [[programmatore]], o magari permettendogli di disegnare comodamente il tutto in un ambiente di sviluppo, permetterà al programmatore di concentrarsi sulle vere funzionalità dell'applicazione, senza doversi far carico di scrivere codice "di contorno". Il termine [[Lingua inglese|inglese]] ''framework'' quindi può essere tradotto come ''intelaiatura'' o ''struttura'', che è appunto la sua funzione, a sottolineare che al programmatore rimane solo da creare il contenuto vero e proprio dell'applicazione.
 
Un framework è definito da un insieme di [[classe astratta|classi astratte]] e dalle relazioni tra esse. Istanziare un framework significa fornire un'[[implementazione]] delle classi astratte. L'insieme delle classi concrete, definite ereditando il framework, eredita le relazioni tra le classi; si ottiene in questo modo un insieme di classi concrete con un insieme di relazioni tra classi.