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

JavaScript Discussion :

Où va-t-on avec JavaScript ? [Débat]


Sujet :

JavaScript

  1. #261
    Membre chevronné
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 545
    Points : 2 084
    Points
    2 084
    Par défaut
    Citation Envoyé par fredoche Voir le message
    sentiment personnel, tant pis...
    La question n'est pas question de sentiment, mais il ne faut pas qu'on véhicule de fausses informations. Il ne faut pas oublier qu'avec le typage dynamique c'est le développeur qui souffre dans certains cas avec le typage dynamique encore faiblement, c'est cette souffrance qu'on veut éviter, on aime tous les facilité et les bonnes syntaxes, et la bonne structure du code.

    Il ne faut pas qu'en développant mon jeu je connais tous les caractéristiques de mes objets, alors je dois passer par quelque chose de dynamique après je vais me mordre les doigt après en cas de bug.

    Nous on veut le choix en javascript c'est ça mon objectif.

  2. #262
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Bonjour,

    Je viens de lire attentivement tes interventions.

    Je suis entièrement d'accord avec toi "nous devons avoir le choix"
    HTML permet d'embarquer des scripts et il est possible d'utiliser d'autres langages que JavaScript
    En 1996 j'embarquais du TCL et IE permettait d'utiliser VBS.

    Mais, je ne suis pas d'accord lorsque certains dissent qu’il faut supprimer les prototypes et le typage dynamique de JS et le remplacer par des classes et du typage Satique.

    EcmaScript n'est pas utilisé que dans le WEB et je ne suis pas toujours très content de la façon don EcmaScript est intégré au navigateur la Partie W3C de JS est pour moi plus problématique que le langage.

    Lorsqu’on utilise EcmaScript dans d'autres contextes que le Web, sa capacité à faire évoluer ces objets est pertinente efficace.

    Je sais que cela à un coût et je suis le premier à dire qu'il faut utiliser la modélisation statique lorsque cela est pertinent.

    Je pense qu'effectivement tout comme par le passé avec le shellScript on est arrivé à des usages dans le navigateur qui ne sont plus dans le scope de départ. Il ne s'agit plus d'écrire un petit script pour gérer un évènement. Aujourd'hui on écrit de véritable application quasi 100% JS et là le modèle de programmation proposé n'est peut être la le meilleur.

    Pour faire des IHM, la modélisation par classes a fait ses preuves.

    Je suis personnellement confronté à la situation inverse tous les jours.
    J'ai des dev fait en JAVA dans lequel je manipule des "objets" très mouvants aux contours flous.

    Pour y parvenir, j'ai fini par utiliser des HashMap. Du coup tous mes "objets" sont des HashMap. À quoi peut me servir le typage statique ? Je ne peux pas utiliser le polymorphisme Java puisque ce sont tous des HashMap
    Je dois donc faire ce qui est le pire en java des if et switch pour déterminer quelle méthode statique d'un objet statique utiliser sur ma HashMap, idéalement il me faudrait pouvoir associer à ma HashMap un objet qui possède toutes les méthodes le concernant. Mais ayant quelques centaines de méthodes il me faudrait alors prévoir toutes les combinaisons possibles. N'ayant pas connaissance avant l'exécution du contenu de ces "objets" je ne peux pas faire des classes pour chaque "type d'objet" que je reçois.
    Au final sur cette partie je fais du dev procédural en Java.

    Avec Nashorn (Js dans Java8), j'ai le meilleur des deux mondes. Pour cette partie particulièrement peu typée, JS est une force. Pour tout le reste les classes java font des merveilles.
    Malheureusement Java8 n'est pas encore une cible pour la mise en production. Mais tous mes tests montrent qu’utiliser JS pour cette partie donne un code simple, robuste, adaptable, maintenable, évolutif, et concis.
    Tout le contraire des mots que je lis dans les critiques de JavaScript. Et le code JS étant dans le Jar Java il n'est pas modifiable par l'utilisateur donc je n'ai pas de Pb de sécurité plus important qu'avec le reste de l'appli.

    J'aimerais dans le monde web voir apparaitre plusieurs choses.
    D'autres langages supportés en standard dans le navigateur pour cibler les nouveaux usages.
    J'aimerais aussi pouvoir envoyer au navigateur un "lanceur d'app". Un mime type qui dirait au navigateur charge ce JS (ou un autre langage) et exécute-le. Je trouve très con de faire une page HTML comme
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <html<head><script src="myapp.js"></script></head></html>
    j'aimerais bien pouvoir dire au navigateur charge myapp.js et exécute-la. Je n'ai jamais de code HTML dans mes applis.

    A+JYT

  3. #263
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    J'ai trouvé une opinion intéressante, malheureusement en anglais, sur l'inflation des "frameworks" et le devenir du JS

    En bref (ce n'est pas une traduction du texte, juste un reflet, les opinions auxquelles j'adhère de plus en plus) :

    Oublions les mésaventures provoquées par les navigateurs obsolètes et mettons à la poubelle les rustines développées pour pallier leurs insuffisances.

    En 2014, avec l'évolution des codes (HTML5, CSS3, JS ES6) et l'évolution des navigateurs dignes de ce nom, il est devenu plus intéressant d'utiliser le JS que de s'enfermer dans le carcan d'un "framework" aussi bon soit-il.

    Il faut bien distinguer une "library" (code effectuant une tâche précise), qui sera toujours utile, d'un "framework" qui vous impose une manière de penser donc de coder.

    Idem pour l'UI, les nouveaux standards permettent la création d'éléments réutilisables (Web Components). Pour l'instant plusieurs techniques nécessitent encore l'usage de "polyfils".

    Quelques liens utiles :








    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #264
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Ce n'est pas qu'une question de richesse et de puissance du langage / de l'outil. Les frameworks servent surtout à fixer un cadre. Si on s'engage à suivre rigoureusement la méthode imposée par un framework, on évite en théorie plusieurs erreurs de parcours classiques. C'est aussi une manière d'homogénéiser la façon de coder au sein d'une équipe. Par exemple, EcmaScript 6 apporte la notation des classes. Entre class, l'opérateur new et Object.create, ça fait trois façons différentes de faire la prog objet. Si on ne se fixe pas une ligne de conduite, ça peut vite devenir un sacré bazar.

    Une citation que j'ai lu je ne sais plus où :
    Les frameworks, c'est comme les pistes de skis. C'est moins fun que le hors-pistes, mais t'as plus de chances d'en sortir indemne.
    One Web to rule them all

  5. #265
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    Je connaissais pas Bosonic, ça a l'air cool ! Des retours ?

  6. #266
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Il faut bien distinguer une "library" (code effectuant une tâche précise), qui sera toujours utile, d'un "framework" qui vous impose une manière de penser donc de coder.
    Pourtant côté serveur, les contraintes imposés par l'utilisation d'un framework sont a priori les mêmes et pourtant ceux-ci se sont clairement fait une place et font maintenant partie intégrante du bagage de tout "développeur web". Leurs avantages ne sont plus à prouver, le principal étant de se concentrer sur les points spécifiques de notre projet plutôt que s'acharner à réécrire des fonctions récurrentes à tout développement, et dans bien des cas (il reste des cas spécifiques ou leur utilisation ne s'impose pas bien entendu), ceux-ci sont clairement profitables aux développeurs malgré les inconvénients qu'ils engendrent -car il y en a aussi bien sûr-.

    Alors bien que les langages utilisés soient différent, pourquoi en serait-il différemment côté client ?
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  7. #267
    Futur Membre du Club
    Homme Profil pro
    Programmeur & Développeur dans différents langages ! :D
    Inscrit en
    Juillet 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Programmeur & Développeur dans différents langages ! :D

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Je suis d'accord
    Le nombre de library existent sur le web est énorme, d’ailleurs elle représente la plus grande partie de l'utilisation de Github :o (13.98% sur 144 langages)
    Et c'est vrai aussi que de plus en plus de personnes ce dise développeur JS alors qu'ils importent des bibliothèques et tape une ligne de code.

    Serte les bibliothèques sont bien dans le sens de la rapidité d'installation et d'utilisation mais très peut de gens vont voir ce qu'il se passe derrière.

    L'écrire soit même s'est mieux à mon gout.

  8. #268
    Membre éclairé
    Avatar de Paleo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Points : 661
    Points
    661
    Par défaut
    Citation Envoyé par phildes2 Voir le message
    Je pose la question au sujet de TypeScript car il est commandité par un acteur majeur de l'informatique et risque de s'imposer dans les normes futures du Javascript (je suppose donc que cette question correspond au sujet)

    Le Javascript est très complet et me satisfait parfaitement. Le javascript est un langage qui possède des propriétés très intéressantes.
    Notamment l'absence de typage, qui n'est peut-être pas un oubli, mais la volonté de proposer un autre format de programmation que celui qui était répandu dans les années 80.
    Bonjour, quelques arguments en faveur de TypeScript :

    * Le langage TS est un sur-ensemble de EcmaScript 5. Cela signifie que n'importe quel code ES5 est valide en TS. Les lib jQuery et autres sont alors utilisables (contrairement à Dart). Le temps d'apprentissage est réduit.
    * Le compilateur TS produit du code JS propre et indépendant (contrairement à Traceur qui génère un code JS dépendant d'un runtime). Dans le pire des cas, s'il fallait quitter la technologie, le code JS produit par TS serait une base de travail convenable.
    * À part le typage qui est une innovation de TS, les autres éléments du langages sont des implémentations du brouillon de ES6 (voir un résumé ici). Il s'agit des classes, des modules (espaces de nommage), des paramètres par défaut et de l'opérateur "flêche". Cela implique que le compilateur TS est destiné à être simplifié et ne prendre en compte que le typage.
    * Concernant le typage : il apporte un confort non négligeable dans l'assistance fournie par les IDE. Le mécanisme des interfaces/implémentations dans TS est plus souple que dans les langages typés classiques et s'intègre bien dans la manière de penser JS. C'est à mon sens un apport considérable.
    * TS ajoute aussi la notion d'accessibilité dans les classes : les membres peuvent être déclarés privés.
    * La technologie est open-source et utilisable en dehors des autres produits Microsoft (comme ce n'est pas dans les habitudes de Microsoft, mieux vaut vérifier).

    Utilisez le Playground pour tester. Je suggère d'y coller par exemple ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    interface HelloWorld {
    	sayHello();
    }
     
    class MyFirstClass implements HelloWorld {
        constructor(private name: string = 'World') {
        }
        public sayHello() {
            return "Hello, " + this.name + '!';
        }
    }
     
    function test(obj: HelloWorld) {
    	obj.sayHello();
    }
     
    var obj = new MyFirstClass('John');
    test(obj);
    Supprimez éventuellement la déclaration "implements HelloWorld" : elle est optionnelle.

    Le code dynamique est toujours possible. Par exemple ajoutez ceci qui compilera sans problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    obj['otherMethod'] = function () {
    	alert('Other');
    };

  9. #269
    Invité
    Invité(e)
    Par défaut
    Bonjour, je ne suis qu'un enfant par rapports aux autres dev JS, néanmoins, pour moi, Js est le futur. Je trouve Java assez austère, en JS, c'est super ludique. Quand au concept de ne pas re-faire la roue, il est poussé au max avec
    1. Jquery
    2. Tous les plugs-ins existant.


    Mon trip: Ce serait de faire dialoguer JS avec d'autres langages (JAva, C++) pour de la robotique, et en fait tout piloter à partir de JS.

    Toute la bureautique peut être faite sur JS et les derniers navigateurs. Je ne vois pas l'intérêt de passer sur des langages plus "perfectionnés" pour faire de la bureautique.

    J'ai pas encore fait d'héritage par contre, le mot "extends "manque beaucoup !

    Par contre, réaliser une constructeur en JS est super simple ! J'adore ça !

    Quand à JSON, c'est un format EXCELLENT et très accessible ! Bref? pour moi JS c'est l'avenir, et les autres langages ont du soucis à se faire...

  10. #270
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Je pense que C et C++ n'ont pas trop de soucis à se faire

    Il y a des centaines de langages de programmation, avec leurs points faibles et points forts. J'adore le JS mais j'ai bien conscience de ses nombreux points faibles. Qualitativement, les nouveaux langages comme Swift ou Dart sont meilleurs. C'est normal, ils ont été conçus pour palier aux défauts des précédents. Mais ce n'est pas forcément la qualité qui détermine l'adoption d'un langage. Un très bon langage peut très vite tomber dans l'oubli si les plates-formes et l'outillage ne suit pas
    One Web to rule them all

  11. #271
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 699
    Points
    8 699
    Billets dans le blog
    43
    Par défaut
    Dans les systèmes embarqués où la fiabilité du code est indispensable, je ne pense pas qu'un langage comme JavaScript ait la moindre chance de percer.
    Tutoriels et FAQ TypeScript

  12. #272
    Membre éclairé
    Avatar de Paleo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Points : 661
    Points
    661
    Par défaut
    Citation Envoyé par MoumouteMasters Voir le message
    J'ai pas encore fait d'héritage par contre, le mot "extends "manque beaucoup !
    La plupart du temps, l'héritage est une mauvaise pratique, ça ne fait pas de mal de s'en passer. Les interfaces et implémentations sont bien plus élégantes.

  13. #273
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Et l'héritage d'interfaces ?

    Je ne pense pas que proclamer que tel concept est une mauvaise pratique soit vraiment très constructif, tout dépend de comment il est concrétisé et à quelle situation on fait face. On peut trouver des cas qui se prêtent mal à l'héritage, et d'autres qui se prêtent mal aux interfaces. On devrait plutôt se féliciter d'avoir un langage très flexible qui peut jongler facilement entre ces paradigmes, en tout cas plus facilement qu'avec d'autres technos *kof kof* JEE *kof*

    Concernant l'héritage, c'est faisable en JS mais c'est clair que la syntaxe est pénible avec cette saleté d'opérateur new. Heureusement, l'avantage quand une syntaxe ne nous plaît pas est qu'on peut construire quelque-chose de plus plaisant autour. Et puis il y a le mot-clé extends qui débarque avec les classes ES2015 d'ici la fin de l'année, même si selon moi c'est faire un autre trou dans le mur plutôt que de réparer la porte.
    One Web to rule them all

  14. #274
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 699
    Points
    8 699
    Billets dans le blog
    43
    Par défaut
    Citation Envoyé par SylvainPV Voir le message
    On devrait plutôt se féliciter d'avoir un langage très flexible qui peut jongler facilement entre ces paradigmes, en tout cas plus facilement qu'avec d'autres technos [SIZE=1]*kof kof* JEE *kof*
    Espérons que des Javaïstes ne passent pas dans le coin
    Ils sont encore nombreux les bougres !
    Tutoriels et FAQ TypeScript

  15. #275
    Membre éclairé
    Avatar de Paleo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Points : 661
    Points
    661
    Par défaut
    Sur l'héritage de classes, c'était un avis à propos de la POO en général et pas spécialement pour JavaScript.

    L'héritage est souvent utilisé comme une technique de réutilisation du code. Et c'est mal. L'héritage devrait s'en tenir à sa définition en UML : une spécialisation sur un plan fonctionnel. C'est-à-dire que la raison de l'héritage doit se trouver dans le sens que les objets ont et non pas dans des fonctionnalités en commun. Pour réutiliser, la manière propre est la délégation. Or les programmeurs en POO font massivement usage de l'héritage en tant que mécanisme de réutilisation.

    Pourquoi cette forme de réutilisation est mauvaise ? Car l'héritage casse le principe d'encapsulation. Dans la pratique, une modification dans le code de la classe mère ou dans celui de la classe enfant nécessite que le développeur soit conscient de l'implémentation interne des deux classes sous peine d'effets de bord.

    Il reste la spécialisation, et celle-ci est un cas rare en programmation. Dans mon expérience, dans un programme constitué d'une centaine de classes, on peut trouver peut-être cinq cas où la spécialisation a du sens. Or les langages incitent au contraire à un héritage tout azimut. Par exemple en Java les classes et les méthodes devraient être "final" (héritage interdit) par défaut, et c'est le contraire : si on ne précise rien, tout est héritable. Par exemple l'accesseur "protected" devrait être utilisé avec parcimonie, et l'équipe de TypeScript s'est dépêchée de l'implémenter à cause de la forte demande de la communauté. Sans parler du mot-clé "extends" qui signifie le contraire de "spécialiser" !

    L'héritage des interfaces : il est en pratique utilisé à bon escient. Une interface est un contrat. Il faudrait vraiment être paresseux pour vouloir hériter juste dans le but de réutiliser des définitions. Et puis ça a des conséquences : par exemple vous voulez hériter quatre méthodes d'une interface mère, mais la cinquième méthode de l'interface mère, celle dont vous n'avez pas besoin, il faudra bien ensuite que la classe l'implémente pour rien, et, heureusement, même les développeurs les moins élégants répugnent à cela. Donc dans la pratique, l'écueil de l'héritage pour réutilisation est mieux évité.


    Sinon je trouve ObjectModel intéressant. Une manière de faire des vérifications de types en dynamique.

  16. #276
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    "c'est mal". Cela illustre bien là où je veux en venir, le bien et le mal sont des concepts absolus or rien n'est absolu, tout est relatif. L'héritage casse le principe d'encapsulation certes, mais la délégation casse le principe de substitution, alias polymorphisme. Quel principe serait plus important qu'un autre en toutes circonstances ? De manière absolue, il n'y a pas de paradigme supérieur aux autres. Tout dépend de la situation rencontrée. Même si ça ne concerne que 5% des classes d'un projet, il y aura quand même 5% de cas où l'héritage, "c'est bien".

    Après je suis d'accord pour dire qu'on bourre le crâne des étudiants avec de l'héritage à cinq niveaux de profondeur, avec les profs qui se creusent la cervelle pour trouver des exemples pertinents quand ils savent pertinemment qu'un cas similaire ne se retrouvera probablement jamais sur un vrai projet. Mais bon, si chacun prêche pour sa paroisse, on est pas sortis de l'auberge !
    One Web to rule them all

  17. #277
    Membre éclairé
    Avatar de Paleo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Points : 661
    Points
    661
    Par défaut
    Citation Envoyé par SylvainPV Voir le message
    […] mais la délégation casse le principe de substitution, alias polymorphisme.
    Dans un contexte d'héritage de classes, le principe de substitution n'a de sens qu'avec une spécialisation. On a un type général, puis un sous-type (plus spécialisé) qui peut se faire passer pour le type général :

    More formally, the Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called (strong) behavioral subtyping,
    Mais dès qu'un langage le propose, la manière habituelle et élégante de faire de la substitution, c'est le mécanisme d'implémentation des interfaces.
    Hé oui.
    TypeScript wins! :p

  18. #278
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Quand on développe avec le modèle MVC, on a bien souvent un contrôleur père (pourquoi pas abstrait même si on veut), avec des contrôleurs fils qui seront chacun une séparation de grandes fonctionnalités du projet (en gros).

    J'ai donc une question : est-ce un bon cas d'utilisation de l'héritage ? Si oui, bon ben l'utilisation de l'héritage c'est quand même vachement utile (parce que du coup ça s'applique aussi aux vues et aux modèles) et du coup je pense que c'est plus de 5% des cas, si non, j'aimerai bien qu'on m'explique pourquoi parce que je vois pas ce qui n'est pas bien
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  19. #279
    Membre éclairé
    Avatar de Paleo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Points : 661
    Points
    661
    Par défaut
    Euh, "MVC" dans quel sens ? AngularJS ?
    Angular génère un héritage de scopes/contrôleurs, c'est d'ailleurs un point qui pose problème parce qu'il n'est pas intuitif. Mais pour séparer différentes parties de l'interface, les directives paraissent indiquées, non ?

    Les frameworks incitent à l'héritage, pas toujours à bon escient. Certes il vaut mieux programmer de la manière prévue par les concepteurs du framework, mais ça ne prouve rien.

  20. #280
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Citation Envoyé par Tarh_ Voir le message
    la manière habituelle et élégante
    habituel et élégant sont deux critères totalement subjectifs
    One Web to rule them all

Discussions similaires

  1. navigation dans une jsp avec javascript
    Par petitelulu dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/11/2004, 19h55
  2. Defilement de la fenetre avec JavaScript
    Par black is beautiful dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/09/2004, 11h21
  3. Lien ASP avec javascript
    Par RATIER dans le forum ASP
    Réponses: 3
    Dernier message: 15/07/2004, 09h54
  4. Réponses: 4
    Dernier message: 27/04/2004, 15h45

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