Question

J'essayais de trouver une réponse à ma question à l'aide de moteurs de recherche Google et Stackoverflow ... mais pas de chance :)

Je me demandais quelles sont les principales caractéristiques de chaque cadre pour l'utilisateur final et comment pouvez-vous caractériser chaque cadre du point de vue de l'utilisateur final (j'ai examiné les directives de conception-cadre par K. Cwalina, mais je suis 'VE trouvé que des concepts et des directives pour les architectes-cadres), pour moi:

  • Il devrait être extensible
  • devrait laisser construire des composants extensibles et réutilisables
  • et bien sûr: des choses simples doivent être simples, des choses complexes devraient être possibles.( http://en.wikiquote.org/wiki/alan_kay )

Je pense qu'il y a beaucoup plus là-bas.

Veuillez partager vos connaissances.

Était-ce utile?

La solution

Voici deux bonnes citations de Ralph Johnson et Brian Foote

Un cadre est une application réutilisable, "` `semi-complète" '' '"pouvant être spécialisée pour produire des applications personnalisées

Une caractéristique importante d'un cadre est que les méthodes définies par l'utilisateur à adapter le cadre seront souvent appelées à l'intérieur du cadre lui-même, plutôt que du code d'application de l'utilisateur. Le cadre joue souvent le rôle du programme principal dans la coordination et la séquençage de l'activité d'application. Cette inversion de contrôle donne aux cadres de servir de squelettes extensibles. Les méthodes fournies par l'utilisateur adaptent les algorithmes génériques définis dans le cadre d'une application particulière.

Il y avait un numéro spécial de CACM que vous voudrez peut-être Jetez un coup d'œil aussi.

Voici un autre lien Le Principal Hollywood . "Ne t'appelle pas, nous vous appellerons." Sur la manière dont le cadre inverse le contrôle typique afin que le cadre appelle votre code au lieu d'appeler un code de bibliothèque.

Autres conseils

On dirait que vous voulez juste savoir quelle est la caractéristique déterminante d'un cadre ...?

de Foldoc :

Dans les systèmes orientés objet, un ensemble de classes qui incarne une conception abstraite pour des solutions à un certain nombre de problèmes connexes.

Si fondamentalement, une bibliothèque de classe ("jeu de classes") extensible ("incarne une conception abstraite"),

Je vais essayer une définition basée sur ma propre compréhension: un cadre est un organe de code qui résoudra un sous-ensemble de tâches communes à certaines catégories de programmes d'application.L'intention est de fournir, une fois, du code prouvé et testé afin que la programmation des applications ne soit pas obligée de refuser de réinventer du code pour les tâches communes traitées par le cadre.

Dans la vie réelle, les cadres ressortent souvent lorsqu'un programmeur ou une équipe se mettait emporté par la généralisation et la vérification future, ce qui a commencé comme une seule application.Il y a une intention honorable de démarrer la réutilisation du code, mais cela s'avère souvent que ces cadres ne sont pas conçus d'intention depuis le début, n'ont pas de conception cohérente reflétant cette intention et sont en réalité un code moche qui finit non plus-Utilisé du tout.La plupart des architectes qui se sentent qualifiés pour créer des cadres, ne sont pas.

La différence entre les bibliothèques et les cadres: vous appelez des bibliothèques.Les cadres vous appellent.

Répondre à votre question couvrant la profondeur qu'elle mérite dépasse la portée de ce forum.Tout ce que vous devriez faire est de lire ce livre, bien que sa société soit axée sur .NET FRAMEwork spécifiquement et écrite par les concepteurs du .NET Framework, je suis sûr que la sagesse et les informations que ce livre dispose suffisait de répondre à votre question et de satisfaire vos curiosités.sur le sujet.

Directives de conception-cadre: Conventions, idiomes et modèles de réutilisables .NET .NETBibliothèques (2e édition)

Texte alt http://www.lybrary.com/images/0321605012.jpg

Un cadre est pour moi un autre nom pour une bibliothèque (comme Boost et de nombreux autres) qui ne concerne pas qu'un seul sujet (il y a des bibliothèques sur les mathématiques, la mise en réseau, tout ce qui existe, mais ce ne sont pas des cadres) et c'estBien sûr extensible et vous pouvez combiner les caractéristiques de cela pour faire votre travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top