IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

[Angular 4] Que privilégier, un component ou un module ?


Sujet :

Angular

  1. #1
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut [Angular 4] Que privilégier, un component ou un module ?
    Bonjour,

    Je suis en train de faire un projet et je me demandais que privilégier, la création de component en tant que module ou juste en tant que component.

    J'ai bien compris la différence entre les 2 et pour moi je pense que la création de module est plus flexible (utilisation dans un autre projet, etc...).

    Mais l'inconvénient et que chaque module doit réimporter ces modules (genre translate, commonModule, forms, etc...), la ou les component héritent de tout ca du module/component parent.

    Je me demande surtout si il y'a une différence en terme de performance entre l'utilisation de component en tant que tel ou encapsulé dans un module.

    Merci.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2015
    Messages : 38
    Points : 126
    Points
    126
    Par défaut
    Peut-être cela répond à ta question

    What if I import the same module twice?

    That's not a problem. When three modules all import Module 'A', Angular evaluates Module 'A' once, the first time it encounters it, and doesn't do so again.

    That's true at whatever level A appears in a hierarchy of imported modules. When Module 'B' imports Module 'A', Module 'C' imports 'B', and Module 'D' imports [C, B, A], then 'D' triggers the evaluation of 'C', which triggers the evaluation of 'B', which evaluates 'A'. When Angular gets to the 'B' and 'A' in 'D', they're already cached and ready to go.

    Angular doesn't like modules with circular references, so don't let Module 'A' import Module 'B', which imports Module 'A'.
    src : https://angular.io/guide/ngmodule-faq

    Donc je ne pense pas qu'il y ai un souci pour les performances et donc je pense que partir sur une logique de séparation en Module reste a privilégié , quitte à faire un Module Misc avec tes Components difficilement reliable à une fonctionnalité commune .

    Je rajouterai que si j'ai un component isolé ,c'est surement le moment de remettre en cause mon analyse .

  3. #3
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut
    Houla,

    je l'avais un peu oublié cette discussion.
    J'étais effectivemment parti sur une logique de module plutot que de component.

    Je rajouterai aussi que l'avantage du module, c'est que tout n'est pas forcément mis dans le app.module

    Ce qui permet de bien séparer les appels dans les modules dédiés.

    Merci de ta réponse

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2017
    Messages : 81
    Points : 132
    Points
    132
    Par défaut
    Pourquoi faire un choix et ne pas utiliser les deux en fonction de la situation?

    Après faire qu'un seul module dans une application (si elle est assez conséquente), bah tu vas t'en mordre les doigts quand tu auras 50 components. J'ai fait l’expérience malgré moi, je te le déconseille.

  5. #5
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut
    Effectivemment,

    il y'a des composants qui restent composent quand je sais qu'ils sont utilisés obligatoirement par d'autres modules, mais dés que je peux je met en module.

    J'ai deja fait aussi un projet avec un seul module et c'est bien le bordel ^^

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2017
    Messages : 81
    Points : 132
    Points
    132
    Par défaut
    Après avoir fait des recherches suite à ta question pour voir si Angular proposait une méthodologie pour faire un choix entre un module et un composant.

    Au final, cela reste très subjectif, il conseille de faire un module pour regrouper des composants d'un même thème.

    Selon ma propre expérience, le mieux reste de regrouper 5,6 composants d'un même thème dans un module.

    D'autres avis par rapport à vos expériences pourraient être vraiment intéressant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Angular, plus performant et facile que JavaWeb pour des applications Web ?
    Par Invité dans le forum Développement Web en Java
    Réponses: 9
    Dernier message: 07/05/2015, 15h33
  2. Problème création windows component dans un module
    Par agrosjea dans le forum NetBeans Platform
    Réponses: 0
    Dernier message: 18/09/2009, 17h04
  3. Réponses: 5
    Dernier message: 01/09/2009, 07h46
  4. Que privilégier : %like% dans champs texte, ou plain text ?
    Par Dimitri01 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/01/2004, 12h45
  5. [Optimisation] Que privilégier : une ou plusieurs requêtes ?
    Par Dimitri01 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/01/2004, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo