Indice
18 relazioni: Acrostico, Adaptive Software Development, Classe astratta, Code smell, Dependency injection, Design by contract, Design pattern, Manutenzione (sviluppo software), Metodologia agile, Principio aperto/chiuso, Principio di inversione delle dipendenze, Principio di segregazione delle interfacce, Principio di singola responsabilità, Principio di sostituzione di Liskov, Programmazione orientata agli oggetti, Refactoring, Riuso di codice, Robert Cecil Martin.
- Progettazione del software
- Programmazione orientata agli oggetti
Acrostico
Un acrostico (dal greco tardo ἀκρόστιχον, composto di ἄκρον, «estremo» e στίχος, «verso») è un componimento poetico o un'altra espressione linguistica in cui le lettere o le sillabe o le parole iniziali di ciascun verso formano un nome o una frase.
Vedere SOLID e Acrostico
Adaptive Software Development
È una metodologia agile ideata da Jim Highsmith, direttore del Cutter Consortium's Agile Project Management Advisory Service. Questa metodologia è composta da un insieme di regole di sviluppo software inserite in un sistema complessivo detto Agile Project Management i cui concetti base sono tre.
Vedere SOLID e Adaptive Software Development
Classe astratta
Una classe astratta, nella programmazione orientata agli oggetti, è una classe che definisce una interfaccia senza implementarla completamente.
Vedere SOLID e Classe astratta
Code smell
Nell'ingegneria del software, e in particolare nel contesto dello sviluppo agile e dell'extreme programming, l'espressione code smell (letteralmente "puzza del codice") viene usata per indicare una serie di caratteristiche che il codice sorgente può avere e che sono generalmente riconosciute come probabili indicazioni di un difetto di programmazione.
Vedere SOLID e Code smell
Dependency injection
Dependency injection (DI) è un design pattern della Programmazione orientata agli oggetti il cui scopo è quello di semplificare lo sviluppo e migliorare la testabilità di software di grandi dimensioni.
Vedere SOLID e Dependency injection
Design by contract
Design by contract (in sigla: DBC) o progettazione per contratto è una metodologia per progettare il software. Prescrive che i progettisti di software debbano definire specifiche precise e verificabili delle interfacce dei componenti software, basandosi sulla teoria dei tipi di dati astratti e sulla metafora di un contratto legale.
Vedere SOLID e Design by contract
Design pattern
Design pattern (traducibile in lingua italiana come "schema progettuale", "schema di progettazione", o "schema architetturale"), in informatica e specialmente nell'ambito dell'ingegneria del software, è un concetto che può essere definito "una soluzione progettuale generale ad un problema ricorrente".
Vedere SOLID e Design pattern
Manutenzione (sviluppo software)
Con manutenzione del software solitamente si definisce quel processo correttivo e di sviluppo che avviene dopo la release del prodotto finale in un ambiente di produzione.
Vedere SOLID e Manutenzione (sviluppo software)
Metodologia agile
Con metodologia agile (o sviluppo agile del software, in inglese agile software development, abbreviato in ASD), nell'ingegneria del software, si indica un insieme di metodi di sviluppo del software emersi a partire dai primi anni 2000 e fondati su un insieme di principi comuni, direttamente o indirettamente derivati dai principi del "Manifesto per lo sviluppo agile del software" (Manifesto for Agile Software Development, impropriamente chiamato anche "Manifesto Agile") pubblicato nel 2001 da Kent Beck, Robert C.
Vedere SOLID e Metodologia agile
Principio aperto/chiuso
Nella programmazione orientata agli oggetti il principio aperto/chiuso (open/closed principle, abbreviato con OCP) afferma che le entità (classi, moduli, funzioni, ecc.) software dovrebbero essere aperte all'estensione, ma chiuse alle modifiche; in maniera tale che un'entità possa permettere che il suo comportamento sia modificato senza alterare il suo codice sorgente.
Vedere SOLID e Principio aperto/chiuso
Principio di inversione delle dipendenze
Nella programmazione orientata agli oggetti, il principio di inversione delle dipendenze (o della dipendenza; in inglese dependency inversion principle, abbreviato in DIP) è una tecnica di disaccoppiamento dei moduli software, che consiste nel rovesciare la pratica tradizionale secondo cui i moduli di alto livello dipendono da quelli di basso livello.
Vedere SOLID e Principio di inversione delle dipendenze
Principio di segregazione delle interfacce
In ingegneria del software, il principio di segregazione delle interfacce (in inglese interface-segregation principle, abbreviato in ISP) è un principio di progettazione del software (soprattutto a oggetti) che afferma che un client non dovrebbe dipendere da metodi che non usa, e che pertanto è preferibile che le interfacce siano molte, specifiche e piccole (composte da pochi metodi) piuttosto che poche, generali e grandi.
Vedere SOLID e Principio di segregazione delle interfacce
Principio di singola responsabilità
Nella programmazione orientata agli oggetti, il principio di singola responsabilità (single responsibility principle, abbreviato con SRP) afferma che ogni elemento di un programma (classe, metodo, variabile) deve avere una sola responsabilità, e che tale responsabilità debba essere interamente incapsulata dall'elemento stesso.
Vedere SOLID e Principio di singola responsabilità
Principio di sostituzione di Liskov
Nella programmazione orientata agli oggetti il principio di sostituzione di Liskov (Liskov substitution principle) è una particolare definizione di sottotipo, introdotta da Barbara Liskov e Jeannette Wing nel 1993.
Vedere SOLID e Principio di sostituzione di Liskov
Programmazione orientata agli oggetti
In informatica, la programmazione orientata agli oggetti (in acronimo OOP), a volte chiamata semplicemente programmazione ad oggetti, è un paradigma di programmazione che permette di definire oggetti software in grado di interagire gli uni con gli altri attraverso lo scambio di messaggi.
Vedere SOLID e Programmazione orientata agli oggetti
Refactoring
Con refactoring (o code refactoring), nell'ingegneria del software, si indica una "tecnica strutturata per modificare la struttura interna di porzioni di codice senza modificarne il comportamento esterno", applicata per migliorare alcune caratteristiche non funzionali del software quali la leggibilità, la manutenibilità, la riusabilità, l'estensibilità del codice nonché la riduzione della sua complessità, eventualmente attraverso l'introduzione a posteriori di design pattern.
Vedere SOLID e Refactoring
Riuso di codice
In informatica con il termine riuso di codice si intende la pratica, estremamente comune nella programmazione, di richiamare o invocare parti di codice precedentemente già scritte ogni qualvolta risulta necessario, senza doverle riscrivere daccapo.
Vedere SOLID e Riuso di codice
Robert Cecil Martin
Opera come consulente a livello internazionale ed è autore di numerosi libri nei settori dell'ingegneria del software e della programmazione a oggetti.
Vedere SOLID e Robert Cecil Martin
Vedi anche
Progettazione del software
- Analisi del dominio
- Architettura multi-tier
- Behavior-driven development
- Carte di Class Responsibility Collaboration
- Convention over configuration
- Design by contract
- Domain-driven design
- GRASP
- Generatore di parser
- Interaction Flow Modeling Language
- Legge di Conway
- Mappa dell'empatia
- Metamodellazione
- Metodo Booch
- Modellazione orientata agli oggetti
- Motor Industry Software Reliability Association
- Principio aperto/chiuso
- Principio di segregazione delle interfacce
- Principio di singola responsabilità
- Progettazione (ingegneria del software)
- Progettazione top-down e bottom-up
- SOLID
- SSADM
- Software Design Description
Programmazione orientata agli oggetti
- Accoppiamento (informatica)
- Astrazione (informatica)
- Base di dati a oggetti
- Common Object Request Broker Architecture
- Component Object Model
- Convention over configuration
- Covarianza e controvarianza (informatica)
- Duck typing
- Ereditarietà (informatica)
- Framework
- Funzione virtuale
- Incapsulamento (informatica)
- Interfaccia (informatica)
- Legge di Demetra
- Metodo Booch
- Modelica
- Modellazione orientata agli oggetti
- Object Modeling Technique
- Object model
- Objectory
- Oggetto (informatica)
- Oggetto container
- Polimorfismo (informatica)
- Principio aperto/chiuso
- Principio di segregazione delle interfacce
- Principio di sostituzione di Liskov
- Programmazione orientata agli oggetti
- Reificazione (informatica)
- SOLID
- Sottotipo (informatica)
- Variabile di istanza
- Void safety
- Windows Template Library