2009-05-30 9 views
4

Ich arbeite als ein ERP-Programmierer, meist mit MS SQL und eine Art von Skript-Programmiersprache.Welche Art von Anwendung sollte ich entwickeln, um richtige Konzepte der Programmierung zu lernen?

Ich schrieb auch einige einfache Projekte in C# (eine Webanwendung für unser Unternehmen und einen einfachen Windows-Dienst) und ich mag es sehr, also wird mein nächster Job hoffentlich in .NET-Umgebung sein.

Jetzt lerne ich C# von einem Wrox Buch und ich ging durch alle grundlegenden Kapitel. Das ist alles in Ordnung und schön, aber meiner Meinung nach ist ein besseres Mittel, um eine Sprache zu lernen, ein echtes Projekt. Also meine Frage ist: welche Art von Anwendung sollte ich schreiben, so dass ich alle Phantasie-benannte Konzepte, wie Vererbung, Delegaten, Generika, Reflexion, LINQ, verwenden kann ... Es wäre schön, wenn es auch eine Verbindung zu SQL Server herstellt .

Ich dachte über persönliches Ausgabenmanagementsystem oder Planungssystem nach. Irgendwelche anderen Ideen?

Antwort

2

Jede gut gestaltete Anwendung oder alle dieser Konzepte nutzen könnten. Sprachspezifische Bücher neigen dazu, sich (aus gutem Grund) ausschließlich auf sprachliche Details zu konzentrieren und vernachlässigen grundsätzlich grundlegende Designprinzipien. Ein weiterer wichtiger Punkt ist, dass Delegierte, Generika, Reflexion usw. ihren Platz haben, aber sie sollten nicht in einer Anwendung "nur" weil implementiert werden. Das kann unnötige Komplexität verursachen.

Alles gesagt, wählen Sie ein Projekt, das Sie interessiert. Noch besser, etwas, das du gerne benutzen würdest. Überlegen Sie dann, bevor Sie das Programm selbst programmieren, wie Sie die Anwendung so strukturieren sollten, dass sie später leicht geändert und Funktionen hinzugefügt werden können. Wenn Sie den gesamten Code in die Form/Code-Behind-Seite einfügen, tun Sie wahrscheinlich etwas falsch.

Verbringen Sie einige Zeit lernen design patterns. Dies sind "Best Practices" für die Organisation von Code, die im Laufe der Zeit entwickelt wurden. Keine Notwendigkeit, das Rad neu zu erfinden.

Hoffe, das hilft.

+0

Sie haben Recht, ich fange auch über Design-Muster zu lernen. Jetzt habe ich mit meinem Projekt begonnen und ein konzeptionelles Modell erstellt sowie alle SQL-Tabellen, die ich brauche. Weiter zum nächsten Schritt :-) – sventevit

1

Ich würde für eine Art einfache CRUD-Anwendung gehen, die Ihre Datenbankfähigkeiten ausübt (und Ihnen die Möglichkeit gibt, einen LINQ-Provider für Ihre Datenbank zu verwenden), aber vielleicht nicht zu einfach; d.h. mehr als eine Tabelle.

Es gibt nichts über ein gegebenes Problem, das es von sich aus besser machen würde, daraus zu lernen. Es ist wahrscheinlich eine gute Idee, bei einer Domain zu bleiben, die Sie einfach entwerfen und modellieren können, um diesen Aspekt von der Herausforderung zu entfernen. Sie könnten etwas "mehr" als nur Datenzugriffsoperationen betrachten; Vielleicht etwas, das die grafische Darstellung oder andere Verarbeitung der Daten beinhaltet, was Ihnen die Möglichkeit gibt, eine andere API zu lernen.

Ihre Vorschläge (Spesenverwaltung, Scheduler) scheinen mir ziemlich gut zu sein.

3

Regel Nummer eins in solchen Projekten: Es muss Spaßsache sein, oder etwas, von dem Sie erwarten, davon zu profitieren.

Als ich an der gleichen Stelle war wie du (und ich meine das gleiche ... C# ... WROX Buch ...) Ich ging für eine Engine von Text basierten Adventure Games.
Es hat alles, was Sie oben beschrieben, und wichtiger, ich hatte Spaß, es zu schreiben und später sehen Menschen spielen es.

Also, es ist wirklich nicht wichtig, was Sie wählen, solange Sie es genießen (und es ist Umfang ist groß genug).

0

Go für einige grundlegende CRUD app - Video Management System, Immatrikulationssystem, Zoohandlung Inventory System, etc ...

1

Wenn Sie all diese "fancy concepts" ausprobieren möchten, sollten Sie ein Projekt erstellen, das überhaupt nichts reflektiert, was Sie bei der Arbeit tun könnten. Z.B. schreibe ein Spiel. Wenn Sie eine kleine CRUD-Anwendung erstellen, aber es irgendwie schaffen, Vererbung, Generika, Delegaten usw. zu verwenden, ist Ihr Programm wahrscheinlich viel komplexer als es sollte. Wenn Sie das nächste Mal etwas ähnliches bei der Arbeit tun, könnten Sie versucht sein, es auf die gleiche Weise zu tun. Was wäre eine wirklich schlechte Idee. (KISS-Prinzip)

0

Sie immer bei einem Open-Source-Projekt aussehen könnte, die C# verwendet ... Normalerweise sie viel über die verschiedenen Konzepte, die Sie möchten schauen ...

- JFV

0

Sie könnten eine Engine schreiben, die Adventure-Style-Spiele unterstützt - nichts zu extravagant, aber ich finde, dass es ein gutes Anfängerprojekt ist, da Sie am Ende mit vielen OO arbeiten können. Du könntest auch einen grundlegenden Media Player machen, obwohl ich nicht sehen kann, dass es so gut ist, um die Grundlagen der Sprache zu verbessern. Du könntest sogar das XNA Framework bekommen und versuchen, ein einfaches Spiel zu schreiben!

1

Danke für alle Antworten, mit Ihrer Inspiration fand ich Thema für mein Projekt :-)

Es ist ein für ein Bordell. Wir halten eine Liste unserer Kunden, Hookers, Zimmer, verfügbaren Dienstleistungen, Job Histories, Preise, ...

Jetzt habe ich alle Tabellen in SQL (mit primären, Fremdschlüssel und Indizes), was ist der nächste Schritt? Sollte ich für jede Tabelle in SQL eine eigene Klasse in C# erstellen und dann Methoden hinzufügen? Und dann weiter mein Programm von dieser Basis aus aufbauen? Oder sollte ich einen anderen Ansatz verwenden ...?

Dank

2

Rubbeln Sie Ihren eigenen persönlichen Juckreiz ...

Verwandte Themen