Skip to content
This repository has been archived by the owner on Sep 16, 2019. It is now read-only.

Redondance de code pour la déclaration des composants #11

Open
DDorch opened this issue Jul 27, 2016 · 0 comments
Open

Redondance de code pour la déclaration des composants #11

DDorch opened this issue Jul 27, 2016 · 0 comments

Comments

@DDorch
Copy link
Owner

DDorch commented Jul 27, 2016

Actuellement, la classe régissant le composant du calcul dans une conduite distributrice hérite de la classe formulaire. En entête du fichier form_cond_distri.ts, pour qu'Angular2 fonctionne, il faut re-importer toutes les dépendances de formulaire.ts et ajouter le décorateur qui sera toujours le même à peu de choses près quelque soit la calculette qui sera développée par la suite.

Cette redondance de code est pénible, car quand plusieurs calculettes seront développées, si on décide de modifier une dépendance de formulaire.ts, il faudra aussi modifier toutes les dépendances des classes enfants.

La question de l'héritage des dépendances pour pouvoir créer de nouveaux composants héritant d'un composant de base a été posée dans les tickets d'Angular2 : angular/angular#7968. La réponse de Miško Hevery, développeur d'Angular, a été que cette fonctionnalité n'existe pas et ne sera pas développée dans Angular2 car aucune solution générique pour résoudre ce problème n'était envisageable.

Dans ce fil de discussion, Thierry Templier propose une solution permettant l'héritage des décorations d'un composant parent vers des composants enfants. La solution est expliquée dans une note à ce sujet : https://medium.com/@ttemplier/angular2-decorators-and-class-inheritance-905921dbd1b7#.xh5vg830i

Miško Hevery soulève cependant qu'utiliser les compositions serait plus approprié que l'héritage dans ce cas là. Une note de blog est en cours de rédaction sur le sujet. Attendons donc pour voir quelle serait la meilleure solution pour éviter les redondances de code à chaque déclaration d'un nouveau composant héritant de la classe Formulaire.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant