La meilleure réponse
Labstraction procédurale, cest quand on sait ce quune méthode ou une procédure fait, ou ce que lon veut quelle fasse, mais on ne sait pas comment il le fait.
En ce moment, je saisis cette réponse dans Quora, et lorsque je clique sur Soumettre, je mattends à ce quelle apparaisse dans mon flux. Je sais quil existe des méthodes qui accepteront ma réponse, lenregistrer quelque part. Mais je nai vraiment aucune idée de la façon dont il est implémenté.
Si nous appliquons cela à Java, vous utilisez un tas de méthodes, issues des différents packages Java. Par exemple, si je veux imprimer la sous-chaîne dune chaîne
String str=”Hello world”
String s1=str.substring(0,6);
Maintenant, dans le code ci-dessus, je veux que la méthode substring me renvoie la partie de la chaîne du début au 6ème caractère. Mais comment la méthode de sous-chaîne met-elle en œuvre cette fonctionnalité, je nen ai vraiment aucune idée, et ce nest pas important pour moi.
Réponse
Labstraction est un concept général qui couvre beaucoup de choses différentes .
Le HTML est un langage de base, et si vous avez besoin de faire du développement Web, vous devez lapprendre à moins que vous ne prévoyiez de créer des pages à usage général avec très peu de capacités fonctionnelles.
À un moment donné avec le temps, vous devrez regarder le HTML et comprendre ce que votre abstraction a mal fait.
abstraction (général):
- Ils ralentissent les choses, les couches dabstraction ont tendance à ont un coût en vitesse de traitement.
- Ce nest peut-être pas un gros problème pour beaucoup, mais cela peut commencer à sadditionner rapidement.
- Jai réécrit une fois une application écrite en Ruby qui était tellement résumé, il a fallu des heures pour charger une liste (littéralement), je lai réécrite en java et lai transformée en environ 3 minutes, ajouté quelques clés à la base de données et lai ramenée à quelques secondes.
- Un PHP page dont le chargement a pris 2 minutes, après lavoir réécrit en PHP, cela a pris 3 à 4 secondes, jouer avec la base de données la réduit à 2 secondes. (90\% du temps de chargement était le cadre après cela, ce qui signifie un cadre médiocre).
- Le facteur commun, je réduis considérablement le niveau dabstraction. Python est un langage de script, comme PHP, ce qui signifie quil doit reconstruire les couches dabstraction à chaque fois, cela peut devenir coûteux.
- cela peut rendre les choses plus difficiles à déboguer / suivre. Labstraction rend généralement lunité (classes ou méthodes) plus facile à suivre, mais il est plus difficile de voir comment elles se relient à lensemble (intégration), car de tels bogues ont tendance à se déplacer et à devenir plus difficiles à trouver.
- Activé le plus, les bogues sont moins probables. Bien quils aient tendance à être plus spectaculaires lorsquils sont trouvés.
- Cela a tendance à accélérer le développement (jusquà un certain point), mais trop peut ralentir le développement, des frameworks lourds tels que Zend Framework (PHP), Spring (Java) sont dexcellents exemples de frameworks lourds qui sont fondamentalement sur-conçus.
Jespère que cela vous donne une idée.