Je vois souvent d'autres développeurs nommer des bibliothèques avec "noyau". Qu'est-ce que cela signifie réellement? P>
7 Réponses :
J'utilise cette convention et c'est fondamentalement une bibliothèque de classe principale avec des classes et un code génériques qui n'a vraiment aucune place dans leur propre bibliothèque. P>
Par exemple, des méthodes d'extension à de nombreuses classes, fonctions mathématiques supplémentaires, etc. Des choses qui ne sont pas assez grandes pour garantir un autre projet pour eux. P>
Qu'est-ce que je n'ai aucune idée cependant? P>
J'ai demandé à Bing de définir "noyau". Une des définitions qu'il a proposées était: p>
partie essentielle: le central ou le plus partie importante de quelque chose p> blockQuote>
Si fondamentalement, lorsque quelqu'un nomme un noyau de la bibliothèque, il s'agit de la partie centrale et la plus importante de leur application et / ou de leur framework: -) p>
Peux-tu être plus précis. C'est-à-dire que les échantillons de choses que vous mettruez dans le noyau. J'ai normalement un projet séparé pour DataAccess, BusinessLogic, Présentation, Configuration, Traitement des erreurs, Utilitaires, etc. Je ne suis pas sûr de ce qu'il reste à mettre dans le noyau, ou si une partie de ces choses devrait / pourrait être dans le noyau
@Micmoo, parce qu'il existe. Je n'utilise pas Bing moi-même, mais c'est son choix quel moteur de recherche utilisera.
À mon avis, le noyau signifie quelque chose d'indispensable. Les fonctions mathématiques et autres fonctions avec des fins utilitaires ne sont pas dans le cœur. Ils sont plutôt "utils". P>
Le noyau est cette partie qui fait exister tout le reste - sans cela, les autres n'ont aucun sens. D'autres choses, ce qui n'est pas dans le noyau peut (pas toujours possible par la conception) à enlever. P>
+ 1: Je ne peux pas dire que je suis un étudiant bien lu sur la mise en œuvre du document .NET, mais juste de l'exposition générale, il semble que cela soit cohérent avec le but de System.core et MSCorLib.
Je suis enclin à être d'accord avec votre concept d'utils.
Le noyau est quelque chose sur lequel tout dépend.
Je vois le cœur comme le cœur abstrait de l'application. Le noyau implémente généralement suffisamment de logique pour définir le comportement de l'application entière. P>
Donc, dans mon avis, l'accès aux données et la présentation ne doit pas faire partie du noyau. Cela permet aux applications Web et de bureau de partager le même module de base. p>
Dans votre cas, j'aurais contenir une logique professionnelle, une manipulation des erreurs et une configuration dans le module principal. P>
Je crois aussi que la principale raison d'avoir un gros module de base est d'éviter le coût de la maintenance de nombreux modules plus petits. p>
Je vois le noyau comme une condition préalable à toute autre bibliothèque que vous puissiez utiliser à partir de ce fournisseur. Ainsi, pendant que le vendeur peut offrir plusieurs packages indépendants, ils comptent tous sur le noyau pour faire avancer les choses. Sinon, cela peut entraîner une duplication de code grave. P>
Cela sera probablement jugé comme hérésie, mais après plusieurs années de solutions de structuration avec des projets distincts pour l'accès aux données, la logique des entreprises, etc., je suis plus probablement utile de mettre ces couches dans un seul projet appelé myapp.core afin que Une solution de base serait composée uniquement du projet principal et d'un projet d'interface utilisateur. Cela ne veut pas dire qu'aucun autre projet ne serait jamais nécessaire ou ajouté (par exemple MyApp.est), mais que la structure de base em> serait basée sur ces deux. P>
Edit: abrégé par suggestion dans les commentaires. P>
-1: Ma prise est que votre réponse va bien au-delà de la question et est devenu un poste de blog ou le début d'une discussion. Je vous recommande de le modifier pour vous arrêter après avoir dit que vous mettez ces pièces ensemble et que vous l'appelez "noyau".
WOW intéressant contrairement aux opinions des propriétaires du site qui ont déclaré à plusieurs reprises dans leur podcast selon laquelle de bonnes réponses sont celles qui sont détaillées et fournissent des informations justificatives à leurs thèses, une position qui semble reflétée dans la communauté par la myriade de réponses à la fois voté avec des commentaires indiquant une appréciation pour entrer en détail. En outre, une suggestion intéressante de tronquer une réponse qui serait essentiellement subjective sans contexte, le rendant presque aussi arbitraire que "je préfère le bleu" sans dire pourquoi. À chacun le sien cependant :-)
MEH, sur la considération supplémentaire, j'ai voulu une raison de commencer à bloguer. Faire la modification.
J'ai enlevé le bowvote et j'ai réalisé cette réponse, car vous avez pris le temps de considérer ce que j'ai écrit. J'aurais suscité même si vous reveniez et que vous avez dit: «Après examen, je ne le change pas». Mon problème n'est pas que vous avez répondu en détail, mais que vous avez répondu à une question différente i> en détail. Ce n'est pas ce que l'OP demandait.
Basé sur les réponses déjà affichées ici, apparemment, il n'y a pas de moyen "standard" de définir "noyau" en ce qui concerne les bibliothèques en développement. P>
Alors je ne m'inquiéterais pas d'être "correct". Utilisez le terme comme vous le voyez en forme. P>
Pourquoi donc? La signification du noyau subjective?
Wikipedia a une page: en.wikipedia.org/wiki/what_wp_is_not dans lequel ils disent "Wikipedia n'est pas un dictionnaire. " Je suppose que nous devrions l'avoir en canapé ...
Quoi? Sommes-nous maintenant en train de définir une politique sur Stackoverflow basée sur la politique de Wikipedia?
Des exemples spécifiques, s'il vous plaît, de l'endroit où vous pensez que la raison du moniker "Core" n'est pas évidente.