Qual è il nome di questo tipo di complessità?

1

Qual è la complessità relativa al numero di operazioni / interazioni tra oggetti all'interno di un sistema? poiché tale numero aumenta la capacità del programmatore di comprendere e mantenere il degrado del sistema.

    
posta Arjang 04.10.2016 - 06:15
fonte

2 risposte

3

L'accoppiamento elevato potrebbe essere il termine più vicino. Si potrebbe obiettare che avere un sacco di sistemi non implica necessariamente un accoppiamento elevato. Si spera che i sistemi siano ben architettati con interfacce chiaramente definite e preoccupazioni separate. Ma l'OP afferma che tutti questi sistemi possono interagire con ogni altro sistema. In un sistema semplificato, ogni componente non dovrebbe essere in grado di interagire con ogni altro componente, per affrontare la complessità. Questo è il motivo per cui, ad esempio, il networking è disposto in uno stack in cui ogni livello può comunicare solo con lo strato sopra e sotto di esso.

Se ci sono componenti n in un sistema, ci sono interazioni n ^ 2 tra componenti e 2 ^ n sottosistemi distinti . Questa è un'esplosione combinatoria di complessità che nessuno sviluppatore può gestire anche per un n moderato

    
risposta data 04.10.2016 - 16:52
fonte
1

È l'astrazione degli oggetti, ma di solito indicata come astrazione. Il principio è che la maggior parte delle persone può solo comprendere 7 +/- 2 oggetti dati nella memoria a breve termine; quindi gli strati di astrazione attraverso il sistema dovrebbero sforzarsi di rimanere all'interno di questo livello.

Il collegamento

High Coupling o intracomponente menzionato da gardenhead è un'altra forma di complessità che esiste nei sistemi software, ma solitamente il livello del collegamento intracomponente si riferisce al favorire l'ereditarietà rispetto alla composizione dell'oggetto.

Ma a prescindere, i quattro principali tipi di complessità in un sistema software (astrazione, incapsulamento, modularità, gerarchia) sono correlati. Di solito, una rottura della modularità (accoppiamento) è una rottura dell'astrazione generale. Nello specifico, ogni volta che riduci la modularità, riduci quasi sempre l'incapsulamento.

    
risposta data 04.10.2016 - 17:41
fonte

Leggi altre domande sui tag