Top Down und Bottom Up Programmierung
Warum sagen wir-Sprache wie C ist top-down, während die OOP-Sprachen wie java oder C++ als bottom-up?. Macht diese Einteilung hat Bedeutung in der software-Entwicklung?
InformationsquelleAutor der Frage | 2009-05-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den "top-down" - Ansatz ist ein high-level-definition des Problems und zerlegt es in Teilprobleme, die man dann rekursiv, bis man Stücke, die sind offensichtlich und leicht zu code. Dies ist oft verbunden mit der "funktionalen Dekomposition" Art der Programmierung, aber müssen nicht sein.
In "bottom-up" - Programmierung, die Sie identifizieren lower-level-Werkzeuge, die Sie erstellen können, um zu einem größeren Programm.
In Wirklichkeit, fast alle Programmierung erfolgt mit einer Kombination von Ansätzen. in der Objekt-orientierten Programmierung, die Sie für gewöhnlich unterteilen Sie das problem durch die Identifizierung von Domänen-Objekten (die eine top-down-Schritt), und verfeinern diese, dann die Rekombination diejenigen, die in der endgültigen Programm — ein bottom-up-Schritt.
InformationsquelleAutor der Antwort Charlie Martin
In Top-Down-Entwicklung beginnen Sie mit Ihrer wichtigsten Funktion, und dann denken Sie an die wichtigsten Schritte, die Sie ergreifen müssen, dann brechen Sie jeden dieser Schritte in Ihre Bestandteile, und so weiter.
In der Bottom-Up-Programmierung denken Sie an die grundlegenden Funktionen und die Teile, die Sie benötigen, und bauen Sie auf. Sie entwickeln die Akteure und Ihre Methoden, und dann binden Sie Sie zusammen, um ein kohärentes ganzes.
OOP natürlich die Tendenz in Richtung Bottom-Up-wie entwickeln Sie Ihre Objekte, während prozedurale Programmierung die Tendenz in Richtung Top-Down, wie Sie beginnen mit einer Funktion, und langsam, um es hinzuzufügen.
InformationsquelleAutor der Antwort Eclipse
Hab ich noch nie gehört die Begriffe "top-down" und "bottom-up" verwendet.
Die Begriffe in der Regel verwendet, um zu beschreiben, wie man Ansätze design und Implementierung eines software-Systems und damit für jede Sprache oder Programmier-Paradigma.
In "On LISP", Paul Graham, verwendet den Begriff "bottom-up" etwas anders bedeuten, ständig die Extraktion gemeinsame Funktionalität gemeinsame Funktionen, so dass Sie am Ende die Schaffung eines neuen, höheren Ebene Dialekt von LISP, können Sie das Programm in Bezug auf Ihre Anwendungsdomäne. Das ist nicht eine häufige Verwendung des Begriffs. Diese Tage wir es nennen würden, "refactoring" und "domain-specific embedded languages" (und alten LISP-Programmierer würden spotten, dass LISP in der Lage war zu tun, dass seit den 1950er Jahren).
InformationsquelleAutor der Antwort Nat
Hab ich noch nie gehört, dass die Klassifikation, die für bestimmte Sprachen, sondern es ist ein Programmier-Paradigma - tun Sie zuerst füllen Sie die details (z.B. bauen, die vollständige Umsetzung der Methoden) und Sie dann zusammen (z.B. rufen Sie diese main () - Methode), oder starten Sie mit den logischen Ablauf und dann Fleisch aus der Umsetzung?
Können Sie wirklich tun, entweder mit beiden Arten von Sprachen angezeigt... Aber ich würde sagen, es ist in der Regel das Gegenteil, in der aktuellen OOP-Sprachen, müssen Sie zuerst definieren die Schnittstellen bilden die logische Struktur, und erst danach Gedanken über die Umsetzung, in der Erwägung, dass gerade prozedurale Sprachen wie C, die Sie benötigen, auch tatsächlich umzusetzen, einige Methoden, bevor Sie diese aufrufen.
InformationsquelleAutor der Antwort AviD
Dieser Wikipedia-Seite erklärt es Recht gut http://en.wikipedia.org/wiki/Top-down#Programming
InformationsquelleAutor der Antwort Vini
Es ist mehr über das Paradigma (Objekt-orientiert, Imperativ, functionnal etc.) als syntax.
Vom dept-info.labri.fr
Später im gleichen Artikel :
InformationsquelleAutor der Antwort Rytek
In top-down-Ansatz, das system wird zunächst formuliert, die Angabe aber nicht detailliert jedes subsystem am Anfang und dann jedes system und dessen subsystem definiert ist, im detail, bis die Angabe an der Basis.
z.B. In einem C-Programm muss man erklären Funktionen an der Spitze des Programms und dann durch den Haupteingang zu jedem Teilsystem - /Unterprogramm definiert ist, im detail.
In bottom-up-Ansatz zunächst die Gestaltung, ausgehend von der Basis-Ebene zu abstrakten Ebene erfolgt.
z.B. In c++/java startet der Gestaltung von Klasse, von basic-level der Programmierung von features und geht dann auf den wichtigsten Teil des Programms.
InformationsquelleAutor der Antwort varinder
Ich glaube, der Unterschied zwischen der top-down-Ansatz und bottom-up-Ansatz zu Programmierung ist, dass die top-down-Ansatz nimmt das problem zu und in und bricht in überschaubare Schritte und bottom-up-Ansatz ist tatsächlich Details vor.
InformationsquelleAutor der Antwort Xcode
C ist strukturiert, die Sprache und die Reihenfolge der Programme ist von oben bis unten. ausgehend von der main-Methode.
während OOP, hängt von der Anzahl der Klassen und Objekte. flow-of-Programm ist nicht in top-down-Ansatz in OOP
InformationsquelleAutor der Antwort Mohsan