Modèles de conception et cadres de travail
quelqu'un Peut-il illustrer ce qu'est vraiment la différence entre les deux?
11 réponses
Même si ce sont deux choses très différentes, on peut dire qu'ils les deux résolvent un problème d'architecture logicielle
un modèle de conception résout de nombreux problèmes d'architecture logicielle (à propos de la création, du comportement, de la concurrence,...)...) avec différents pré-défini design. (conception étant un mise en place d'une architecture rubrique)
un cadre est basé sur le Hollywood Principe ("Don't call us, we call you"), où vous mettez en œuvre certaines exigences de haut niveau tel que spécifié, et laissez le framework faire le reste du travail, appelant vos implémentations.
Une différence clé est l' champ d'application de la cohésion:
modèle de conception ont un serré portée:
- classe des modèles de conception (implique les classes)
- entreprises modèles de conception (concerne les flux d'affaires)
- design d'application patterns (involves applications)
cadre grand portée:
Par exemple, .NET est un cadre composé de:- un langage (C#)
- un environnement de runtime (CLR)
- un collection de bibliothèques
Développez juste ce dont vous avez besoin et laissez le .net framework appeler vos classes.
un modèle de conception est un concept, ou un reçu pour la façon d'obtenir un problème spécifique fait.
un Framework est un code prêt à l'emploi, habituellement emballé d'une manière qui rend la création d'une application beaucoup plus facile.
il n'est pas logique d'expliquer les différences parce qu'elles sont deux choses totalement différentes.
|------------------------|
| (------) |
| (ClassA) |
| (------) |
| (-----------) |
| ((Singleton)) |
| (-----------) |
| (---------) |
| ((Factory)) |
| (---------) |
| |
| |
|------------------------|
Legend:
|---| Framework
(---) Class
() Design Pattern
un framework est Un ensemble de classes pour effectuer une certaine tâche. Ces classes peuvent ou non mettre en œuvre un certain modèle de conception.
Ici GOFréponse:
parce que les modèles et les cadres ont quelques similitudes, les gens se demandent souvent comment ou même si elles diffèrent. Ils sont différente dans les trois façons principales:
les dessins sont plus abstraits que cadres de. Les cadres peuvent être incarnée dans le code, mais seulement des exemples des modèles peuvent être incorporés dans le code. Une force des cadres est que ils peuvent être écrites dans programmation langues et pas seulement étudié mais exécuté et réutilisé directement. En revanche, la conception modèles dans ce livre doivent être mis en œuvre à chaque fois qu'ils sont utilisés. Les modèles de conception expliquent également intention, compromis et conséquences d'une conception.
les modèles sont plus petits les éléments architecturaux de Framework. Un cadre typique contient plusieurs modèles de conception, mais l'inverse n'est jamais vrai.
Design les modèles sont moins spécialisées que cadres de. Les cadres de toujours avoir une application particulière domaine. Un cadre d'édition graphique peut être utilisé dans une usine simulation, mais ce ne sera pas une erreur pour un cadre de simulation. Dans revanche, les modèles de conception dans ce catalogue peut être utilisé dans presque n'importe quel type d'application. Alors que plus de modèles de conception spécialisés que les nôtres sont certainement possibles (dire, les modèles de conception pour la distribution de systèmes ou programmation simultanée), même ceux-ci n'auraient pas dicter une architecture d'application comme une cadre.
Un modèle de conception est une conception pour le traitement d'un problème. Un framework est un véritable paquet de code que vous utilisez pour rendre les applications de construction plus faciles. Notez qu'un cadre, et probablement, l'utilisation de modèles de conception.
Développement De Logiciels Orientés Objet Utilisant Java par Xiaoping Jia:
bien que les modèles de conception et les cadres soient des mécanismes utilisés pour Caper les conceptions réutilisables, ils sont très différents. D'une part, les dessins sont des descriptions schématiques de dessins réutilisables qui ne sont pas des programmes concrets et qui sont indépendants du langage. D'autre part, les cadres sont compilables des programmes écrits dans une programmation spécifique langue et contiennent souvent des classes abstraites et des interfaces. Les modèles de conception sont les éléments de construction architecturale des cadres. Ils aident les cadres extensibles et réutilisables. Les cadres contiennent généralement des implémentations de nombreux modèles coopératifs.
un motif de conception est une solution standard à un problème (de conception) bien connu. Par exemple, le modèle D'usine, et le modèle D'usine abstraite offrent un plan pour mettre en œuvre des dessins pour surmonter les problèmes communs avec instanciation des objets.
un framework par contre contient une infrastructure que vous pouvez utiliser et étendre pour développer votre propre solution. Par exemple, un "cadre d'application web" de modèle 2 contiendra l'infrastructure nécessaire à la création d'applications web. Il contiendra le controller, quelques éléments gui et classes de base que nous pouvons étendre pour créer notre modèle et notre logique d'affaires. Typiquement il contient le code de plomberie et les interactions que nous héritons quand nous étendons de leurs classes de base. Quelques exemples de cadres sont des Struts, JSF, Swing Application Framework, JUnit testing framework, etc...
aller de l'avant il y a aussi des bibliothèques, que nous utilisons directement à partir de notre code. En général, sans étendre leurs cours. Log4J serait un exemple d'une bibliothèque.
soutien des modèles réutilisation de l'architecture et de la conception logicielles - Capture de modèle les structures statiques et dynamiques et la collaboration de la solution réussie au problème qui se posent lors de la construction de l'application dans un domaine particulier
le cadre soutient la réutilisation de la conception détaillée et du code - Un framework est un ensemble intégré d'une composante qui collabore pour fournir une architecture réutilisable pour une famille d'applications connexes
Ensemble, design patterns and frameworks aide à améliorer la qualité des logiciels et à réduire le temps de développement.
les cadres sont plus spécifiques à une définition de problème. Afin d'écrire un dessin peut être conçu ou utilisé là où jamais applicable.