Framework

Canevas, infrastructure.

Besoin

Analyse

Un framework impose une conception auquel le développeur va conformer ses objets. Le développeur récupère une implémentation de cette conception et n'a plus qu'à "combler les trous" laissés volontairement par le framework.

De cette manière, le développement se révèle plus rapide (une partie généralement difficile est déjà développée) et plus standard : tout code basé sur un framework en respecte les règles connues. D'autres développeurs connaissant ce framework adopteront rapidement une idée de principes fondateurs de l'application. Cette standardisation apporte également un avantage d'interopérabilité : tout code respectant les principes d'un framework peut être adopté par les diverses implémentations de ce framework.

Enfin, l'utilisation d'un framework rend généralement un code plus sûr, car intégrant un code développé par des spécialistes de son domaine d'application.

Conception

La standardisation inhérente à un framework aboutit généralement à un modèle de composants : la conception du framework définit ce qu'est un conteneur de composants, les services qu'il leur rend et le développeur développe les composants qui se déploieront dans le framework.

Ceci est généralement réalisé via le principe d'inversion de contrôle : alors que l'on appelle une API, on est appelé par un frawework. Ce principe, également appelé "principe d'Hollywood" (ne m'appelez pas, c'est moi qui vous appelerai), est représenté par le DP Template Method.

Exemples

Des exemples de frameworks sont :

Notes