Modularità (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: sintassi dei link e modifiche minori
Nessun oggetto della modifica
Riga 2:
La '''modularità''' è un concetto che trova applicazione nel contesto dell'[[informatica]], più precisamente nella [[programmazione (informatica)|programmazione]], così come le [[scienze cognitive]] nello scoprire la struttura della [[mente]]. Un '''modulo''' può essere definito in molteplici modi, ma di solito si tratta di un componente di un più vasto sistema, che opera in quel sistema indipendentemente dalle operazioni di altri componenti.
 
I moduli forniscono una separazione tra le [[Interfaccia (informatica)|interfacce]] e la [[implementazione]]. Una interfaccia di un modulo esprime gli elementi che sono forniti e necessari al modulo. Gli elementi definiti in una interfaccia sono visibili agli altri moduli. L'implementazione contiene il codice operativo che corrisponde agli elementi dichiarati nell'interfaccia. I linguaggi che supportano esplicitamente il concetto di modulo includono [[Ada (linguaggio)|Ada]], [[D (linguaggio di programmazione)|D]], [[F (linguaggio di programmazione)|F]], [[Fortran]], [[Pascal (linguaggio)|Pascal]] (alcuni derivati), [[ML programming language|ML]], [[Modula-2]], [[Python]] e [[Ruby]]. Il sistema IBM i (nominato come AS/400 e iSeries) utilizza i moduli nel suo RPG, [[COBOL]] e CL quando si programma nel suo ambiente ILE.
 
== Moduli e classi ==
La differenza tra le [[Classe (informatica)|classi]] ed i moduli sono:
 
* Le Classi possono essere instanziate per creare [[Oggetto (informatica)|oggetti]],
* Le Classi possono [[Ereditarietà (informatica)|Ereditare]] il loro comportamento e dati da altre classi,
* Il [[Polimorfismo (informatica)|Polimorfismo]] permette la relazione tra istanze di classi di poter cambiare a run-time, mentre le relazioni tra i moduli sono statiche.
 
Le somiglianze con le classi sono:
 
* Entrambi possono essere usati per nascondere i dettagli dell'implementazione.
* Entrambi possono formare gerarchie di modules/classes.
 
==Linguaggi di interconnessione dei moduli (MILs)==