Frage

Ich habe eine Access-db ich für mein Scheckbuch (mit einer guten Menge von relativ einfachen VBA dahinter) verwenden, und ich möchte es als Stand-alone-Programm mit einem SQL-Backend neu zu schreiben. Ich denke an entweder mit C ++, Java oder Python.

ich angenommen hatte, bevor ich anfing, dass ich es OO schreiben würde, weil ich dachte, ich würde denken „in OO Begriffen“ (aufgrund einer OO Logic-Klasse und ein C ++ Klasse nahm ich), aber ich ist zu finden, dass ich es nur als verfahren visualisieren kann (aber vielleicht weil ich in Gedanken an geistig bin stecken, wie der db funktioniert in Access). Wie kann ich entscheiden? Was mache ich Sinn oder scheint es so, als ob ich nicht die Konzepte zu verstehen?

Danke für Ihre Hilfe.

War es hilfreich?

Lösung

Nun, OO kann auch zu viel des Guten, aber es ist eine ausgezeichnete Praxis. Jeder Code Affe kann prozeduralen Code schreiben. Es ist der Weg des geringsten Widerstandes in jedem Fall, weshalb die meisten Leute es für eine off-Apps nutzen, die nicht viel tun. Allerdings, wenn Sie schreiben Erfahrung zu bekommen mit OO arbeiten, als es am besten ist es auf diese Weise zu denken. Man könnte beginnen, indem ein Objekt entwerfen, die finanzielle Transaktion verwaltet, dann werden Sie auch brauchen eine Möglichkeit, mit der DB zu interagieren. Vielleicht könnten Sie eine DB-Schicht schreiben, wo Sie abstrahieren die Datenbank aus dem Transaktionsobjekt ruft mit dem Framework Entity, wo Sie LINQ lernen könnte (oder was auch immer die JAVA entspricht). Dies alles geschieht unter der Annahme, dass Sie dies für Spaß und Praxis tun.

Andere Tipps

Ich würde vorschlagen, OO - es ist nicht schwieriger als prozeduralen Programmierung, leichter tatsächlich mit dem richtigen Werkzeug zu halten. Delphi wäre meine Wahl - große DB Programmierunterstützung, Sichtentwerfer, stark typisierte , viele Komponenten zur Verfügung. Es gibt viele große Anwendungen, die in Delphi geschrieben werden. Oft unterschätzt, es gibt viele Gründe es eine treue Fangemeinde hat.

Jetzt werde ich Ente wie der Delphi-Hasser lädt mit Tomaten.

oo scheint viel des Guten für eine einfache Scheckbuch App zu sein. Versuchen Sie, etwas in einem größeren Maßstab wie etwas, alle Ihre finanziellen Konten zu verwalten. Auf diese Weise ein Konto Klasse entwerfen würde Sinn machen

Nun, es hängt von Ihrer Motivation. Wenn Sie eine Scheckbuch Anwendung so schnell wie möglich wollen, Churn nur den prozeduralen Code aus. Niemand anders, als Sie den Unterschied wissen. Wenn Sie möchten, um diese Anwendung verwenden, um sich als aprogrammer zu verbessern. Nehmen Sie die Zeit zu lernen, wie man in OO schreiben in.

ich mit Python gehen würde: keine Compilierung und verwendet dynamische Typisierung (Sie können auch strikte Typisierung verwenden, wenn Sie möchten). Plus, es hat eine riesige Fangemeinde in der Open-Source-Gemeinschaft, die große Unterstützung bedeutet, Tools und Dokumentation kostenlos.

Wie bei OO vs. Procedural - all diesen Sprachen, die Sie erwähnt haben in einem prozeduralen Stil geschrieben werden kann - das heißt, eine große Klasse / Methode, die alles tut - aber Sie werden bald feststellen, dass Sie wollen DRY Prinzipien folgen (Sie Repeat Yourself nicht) und beginnen mit einigen privaten Methoden, die auch eine bestimmte Sache zu tun. Fortan werden Sie ähnliche Dinge in separate Klassen gruppiert werden sollen, und dann von dort aus werden Sie diese Klassen zu abstrahieren wollen ... sehen, wo ich hier werde?

Meiner Meinung nach sollte man weniger auf der OO gegen Verfahren Sache konzentrieren. Wenn Sie die Möglichkeit haben, prozedurale am Anfang zu gehen, dann verfahrens gehen. Es ist die einfachste Sache, die Sie tun können Sie anfangen. Die OO Sache, auf der anderen Seite, kann genauso gut qualifiziert wie YAGNI (You Is not Gonna Need It).

Was Sie aber tun sollen, ist Tests , Unit-Tests zu schreiben und dann Integrationstests. Und Sie sollten Tests streben zunächst zu schreiben. Auf diese Weise, auch wenn Sie mit einer prozeduralen Anwendung beginnen können Sie später auf Refactoring in einen vollwertigen OO-Anwendung. Aber nur, wenn Sie Objekte benötigen. Diese Tests werden Sie Sicherheitsnetz sind, wenn sie um Code in Ihrer Anwendung zu bewegen.

Der Versuch, Ihre Anwendungen in Objekt von Anfang an zu glauben, dass Sie zu einem Punkt führen, wo Sie mit Ihren Klassenhierarchien und Architektur stecken.

Ich bin kein Genie, so kann ich mich irren, aber nach meiner Erfahrung, beginnend mit einfachen Funktionen und dann darüber nachzudenken, sie in Objekte gruppieren oder Module ist besser als beginnend mit den Worten: OK ich werde diese Aufgabe habe, die mit diesem Objekt interagiert, das Muster X implementiert, so dass diese Art und Weise I-Schnittstelle Y von der Implementierung Z. Später entkoppeln werden, können Sie feststellen, dass Ihr Domain-Modell schwach ist. Nehmen Sie ein evolutionäres Design Weg und beginnen mit kleinen Bausteinen.

Wenn Sie sich für eine schnelle Anwendung, die Sie erweitern können Besuche Dynamic Data .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top