Un framework est une conception réutilisable de tout ou partie d'un système, représentée par un ensemble de composants abstraits et de méthodes d'interaction entre les instances de composants ; une autre définition veut qu'un framework soit un squelette d'application qui peut être personnalisé par les développeurs d'applications. Le premier est défini du point de vue de l’application tandis que le second est défini du point de vue de l’objectif. On peut dire qu'un framework est un composant de conception réutilisable qui stipule l'architecture de l'application, clarifie les dépendances, la répartition des responsabilités et le flux de contrôle entre l'ensemble de la conception et les composants collaborateurs, et s'exprime sous la forme d'un ensemble de classes abstraites et de leurs instances. de collaboration entre les composants, qui fournit des relations contextuelles pour la réutilisation des composants. Par conséquent, la réutilisation à grande échelle des bibliothèques de composants nécessite également un cadre.
Qu’est-ce que le cadre d’application ?
Le concept de framework d’application est également très simple. Il ne s'agit pas d'un petit programme contenant des applications composantes, mais d'un service sous-jacent qui implémente des fonctions générales et complètes dans un certain domaine d'application (à l'exception des parties d'application spéciales). Les programmeurs utilisant ce cadre peuvent démarrer le développement d'un système spécifique sur la base de la mise en œuvre d'une fonction commune. Le framework fournit une collection de classes avec le comportement par défaut attendu par toutes les applications. Des applications spécifiques prennent en charge un comportement spécifique à l'application en remplaçant les sous-classes (qui appartiennent au comportement par défaut du framework) ou les objets d'assemblage. Le cadre d'application met l'accent sur la réutilisabilité de la conception logicielle et l'évolutivité du système pour raccourcir le cycle de développement des systèmes logiciels d'application à grande échelle et améliorer la qualité du développement. Par rapport aux technologies traditionnelles de réutilisation orientées objet basées sur des bibliothèques de classes, les frameworks applicatifs se concentrent davantage sur la réutilisation de logiciels dans les domaines professionnels. Le cadre d'application est pertinent pour le domaine et les composants sont combinés selon le cadre pour générer un système exécutable. Plus la granularité du framework est grande, plus la connaissance du domaine qu'il contient est complète.