1.5 KiB
title | date | tags | categories | |||||
---|---|---|---|---|---|---|---|---|
PdP: Architecture loficielle | 2024-03-14 |
|
|
Dépendances et utilisation des interfaces
spécification d'un composant -> description abstraite et rigoureuse de ses qualités, de sa manière de se comporter, des services qu'il est censé rendre. Un composant qui satisfait une spécification S est dit réaliser S
Utilisation de l'interface au lieu d'une classe
class C2 {
IC1 obj;
// ...
}
interface IC1 {
}
class C1 implement IC1 {
// ...
}
Ainsi C2
ne dépends pas de C1
mais de l'interface IC1
. En plus de décrire
abstraitement les composants à implémenter, elles servent d'intermédiaire dans
les dépendances.
Dans une architecture logicielle, il est préférable de faire dépendre les ocmposants d'interfaces et non les composants implémentés.
Principe d'inversion des dépendances.
Une dependance implicite -> qui ne se voit pas directement dans le source d;un programme pas ses appels et ses annotations. Elle est toujours forte par rapport au chamgement qui la détermine.
Elles peuvent prendre des formes très différentes des dépendances explicite par
- la duplication de code
- les similarité de services
LEs archilogicielles sont généralement des structures hiérarchisées.
Granularité de structure, cohésion et couplage
niveau de granularité défini par
Gq et G2 deux niveau de granilarité alirs couplage : ensemble des dépendances entre les composants de G2