Beste Antwort
Prozedurale Abstraktion ist, wenn wir wissen, was eine Methode oder Prozedur tut oder was wir wollen, aber wir wissen nicht wie es tut es.
Im Moment schreibe ich diese Antwort in Quora und wenn ich auf Senden klicke, erwarte ich, dass sie in meinem Feed angezeigt wird. Ich weiß, dass es Methoden gibt, die meine Antwort akzeptieren und irgendwo speichern. Aber ich habe wirklich keine Ahnung, wie es implementiert wird.
Wenn wir dies auf Java anwenden, verwenden Sie eine ganze Reihe von Methoden aus den verschiedenen Java-Paketen. Zum Beispiel, wenn ich den Teilstring eines Strings drucken möchte
String str=”Hello world”
String s1=str.substring(0,6);
Nun möchte ich im obigen Code, dass die Teilzeichenfolgenmethode mir den Teil vom String vom Anfang bis zum 6. Zeichen zurückgibt. Aber wie die Teilstring-Methode diese Funktionalität implementiert, weiß ich wirklich nicht und ist mir auch nicht wichtig.
Antwort
Abstraktion ist ein allgemeines Konzept, das viele verschiedene Dinge abdeckt .
HTML ist eine Basissprache. Wenn Sie eine Webentwicklung durchführen müssen, müssen Sie diese lernen, es sei denn, Sie möchten Seiten mit allgemeiner Verwendung und sehr geringen Funktionsfähigkeiten erstellen.
Irgendwann Mit der Zeit müssen Sie sich den HTML-Code ansehen und herausfinden, was Ihre Abstraktion falsch gemacht hat.
Abstraktion (allgemein):
- Sie verlangsamen die Arbeit, Abstraktionsschichten tendieren dazu Die Verarbeitungsgeschwindigkeit ist mit Kosten verbunden.
- Für viele mag dies keine große Sache sein, aber es kann sich schnell summieren.
- Ich habe einmal eine in Ruby geschriebene Anwendung umgeschrieben, die so war abstrahiert dauerte das Laden einer Liste Stunden (im wahrsten Sinne des Wortes), ich schrieb sie in Java um und wandelte sie in etwa 3 Minuten um, fügte einige Schlüssel zur Datenbank hinzu und reduzierte sie auf einige Sekunden.
- Ein PHP Seite, deren Laden 2 Minuten dauerte, Nach dem Umschreiben in PHP dauerte es 3 bis 4 Sekunden. Durch das Durcheinander mit der Datenbank wurde es auf 2 Sekunden reduziert. (90\% der Ladezeit war das Framework danach, was ein schlechtes Framework bedeutet.)
- Der gemeinsame Faktor ist, dass ich den Abstraktionsgrad erheblich reduziere. Python ist eine Skriptsprache wie PHP, was bedeutet, dass die Abstraktionsschichten jedes Mal neu erstellt werden müssen. Dies kann kostspielig werden.
- Dies kann das Debuggen / Folgen erschweren. Durch Abstraktion ist es im Allgemeinen einfacher, der Einheit (Klassen oder Methoden) zu folgen, aber es ist schwieriger zu erkennen, wie sie sich mit dem Ganzen verbinden (Integration), da solche Fehler dazu neigen, sich zu entfernen und schwerer zu finden.
- On Das Plus, Fehler sind weniger wahrscheinlich. Obwohl sie in der Regel spektakulärer sind, wenn sie gefunden werden.
- Es beschleunigt die Entwicklung (bis zu einem gewissen Punkt), jedoch kann zu viel die Entwicklung verlangsamen. Schwere Frameworks wie Zend Framework (PHP), Spring (Java) sind großartige Beispiele für schwerfällige Frameworks, die im Grunde genommen überentwickelt sind.
Ich hoffe, dies gibt Ihnen eine Vorstellung.