8
votes

Différence entre la bibliothèque et le code d'application?

Cette question est apparue d'une application Web, bien qu'elle soit aussi valable pour d'autres types d'applications. J'utilise MVC.

J'ai à la fois un code d'application (modèles, vues, contrôleurs, formulaires, aides, etc.) et code de bibliothèque (bibliothèques externes et bibliothèque interne avec mappeurs de base de données auto-écrites, convertisseurs JSON, etc.).

Je me demande où vous dessinez habituellement la ligne entre l'application et le code de la bibliothèque (lorsque les deux sont écrits en interne)?

Une partie du code de la bibliothèque devient plutôt spécifique au projet, mais reste un peu résumé.


0 commentaires

3 Réponses :


4
votes

Ma règle générale est la suivante: tout ce qui pourrait être utilisé dans un autre projet et peut être effectué pour ne pas dépendre facilement d'un code spécifique à la demande (et il y a toutes sortes de techniques de faire cela) devrait entrer dans un une bibliothèque. Donc, si cela est potentiellement réutilisable, cela entre dans une bibliothèque.


0 commentaires

9
votes

Le code de la bibliothèque est destiné à être réutilisable, le code de l'application n'est généralement pas. Gardez le code dans une bibliothèque lorsqu'il n'est pas attaché spécifiquement à l'application.

En cas de doute, essayez de répondre à cette question:

Si j'écris une autre application, ce code restera-t-il?


0 commentaires

4
votes

face à ces types de questions de catégorisation, je veux connaître une chose: les conséquences de la mauvaise stratagature.

Ce code est "Bibliothèque", ce code est "Application" ... pour la prestation de laquelle cette distinction est-elle faite? Que se passerait-il si nous mettons du code dans la mauvaise catégorie?

Une réponse possible:

Il affecte la réutilisation du code. Supposons que nous ayons une stratégie: le code de la bibliothèque est disponible dans une DLL avec les en-têtes requis, etc. Le code d'application est juste déployé dans une .exe.

Mettez une belle routine pour effectuer un calcul difficile dans l'application, pas la bibliothèque, alors il ne peut pas être facilement réutilisé.

Peut-être d'autres choses suivent de cette ligne de pensée ... Questions de Versioning s'appliquent. Avons-nous besoin de produire une meilleure documentation? [Même avec un seul développeur, nous pourrions prendre plus de soin?] Avons-nous besoin d'externaliser des informations de configuration, maquillez-nous de manière doublement sûre de ne rien dire du code difficile?


0 commentaires