cours/content/projet_programmation/7_architecture_logicielle/index.md

1.5 KiB

title date tags categories
PdP: Architecture loficielle 2024-03-14
besoins
UML
developpement logiciel
Projet de programmation
Cours

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