Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Über den Autor
Vorwort zur 4. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Klassendesign und Vererbung
4 Weitere .NET-Datentypen
5 Weitere Möglichkeiten von C#
6 Projektmanagement und Visual Studio 2008
7 Fehlerbehandlung und Debugging
8 LINQ
9 Multithreading und asynchrone Methodenaufrufe
10 Arbeiten mit Dateien und Streams
11 Serialisierung
12 Einige wichtige .NET-Klassen
13 Grundlagen zum Erstellen einer Windows-Anwendung
14 Die wichtigsten Steuerelemente
15 Tastatur- und Mausereignisse
16 MDI-Anwendungen
17 Grafische Programmierung mit GDI+
18 Das Drucken (Printing)
19 Steuerelemente entwickeln
20 Programmiertechniken
21 WPF – die Grundlagen
22 Die Layoutcontainer
23 Die WPF-Controls
24 Konzepte von WPF
25 ADO.NET – die Verbindung zu einer Datenbank herstellen
26 Die Datenbankabfrage
27 Der SqlDataAdapter
28 Daten im lokalen Speicher – das DataSet
29 Eine Datenbank aktualisieren
30 Stark typisierte DataSets
31 Weitergabe von Anwendungen
Stichwort

Download:
- ZIP, ca. 13,6 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual C# 2008 von Andreas Kuehnel
Das umfassende Handbuch
Buch: Visual C# 2008

Visual C# 2008
geb., mit DVD
1.366 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1172-7
Pfeil 1 Allgemeine Einführung in .NET
Pfeil 1.1 Warum .NET?
Pfeil 1.1.1 Ein paar Worte zu diesem Buch
Pfeil 1.1.2 Die Beispielprogramme
Pfeil 1.2 .NET unter die Lupe genommen
Pfeil 1.2.1 .NET – Ein paar allgemeine Eigenschaften
Pfeil 1.2.2 Das Sprachenkonzept
Pfeil 1.2.3 Die »Common Language Specification« (CLS)
Pfeil 1.2.4 Das »Common Type System« (CTS)
Pfeil 1.2.5 Das .NET Framework
Pfeil 1.2.6 Die »Common Language Runtime« (CLR)
Pfeil 1.2.7 Die .NET-Klassenbibliothek
Pfeil 1.2.8 Das Konzept der Namespaces
Pfeil 1.3 Assemblys
Pfeil 1.3.1 Die Metadaten
Pfeil 1.3.2 Das Manifest
Pfeil 1.4 Die Entwicklungsumgebung
Pfeil 1.4.1 Editionen von Visual Studio 2008
Pfeil 1.4.2 Hard- und Softwareanforderungen
Pfeil 1.4.3 Die Installation
Pfeil 1.4.4 Die Entwicklungsumgebung von Visual Studio 2008

1 Allgemeine Einführung in .NET

Personen, die ein Buch zur Programmierung kaufen und lesen, lassen sich meiner Meinung nach in zwei Gruppen aufteilen. Da gibt es einerseits diejenigen, die bereits mit einer Programmiersprache Erfahrungen gesammelt haben und nun eine andere Entwicklungsumgebung oder -philosophie kennenlernen wollen. Die zweite Gruppe bilden durch Programmieranfänger, die sich zu Beginn meist mit Respekt erstmals mit der hochinteressanten und scheinbar geheimnisvollen Thematik des Programmierens auseinandersetzen wollen.


Galileo Computing - Zum Seitenanfang

1.1 Warum .NET? Zur nächsten ÜberschriftZur vorigen Überschrift

Einem Leser, der über fundierte Grundlagenkenntnisse verfügt, eine Thematik nahezubringen, die seine Aufmerksamkeit erregt und ihm neue Kenntnisse vermittelt, ist ein nicht ganz einfaches Unterfangen. Dabei gleichzeitig auch einen Programmieranfänger behutsam in die abstrakte Denkweise der Programmlogik einzuführen, ohne gleichzeitig Frust und Enttäuschung zu verbreiten, dürfte nahezu unmöglich sein. Ich versuche mit diesem Buch dennoch diesen Weg zu beschreiten, auch wenn es manchmal einer Gratwanderung zwischen zwei verschiedenen Welten gleicht. Dabei baue ich schlicht und ergreifend auf die jahrelangen Erfahrungen auf, die ich als Trainer bei den unterschiedlichsten Seminaren mit teilweise ausgesprochen heterogenen Gruppen erworben habe.

Vielleicht wissen Sie überhaupt noch nicht, was sich hinter .NET verbirgt? Vielleicht haben Sie sich für dieses Buch entschieden, ohne die Tragweite Ihres Entschlusses für .NET zu kennen. Ich möchte Ihnen das zunächst einmal erläutern.

Blicken wir ein paar Jahre zurück, sagen wir mal in die 90er-Jahre, und stellen wir uns die Frage, wie damals Anwendungen entwickelt worden sind und wie sich die IT-Welt während dieser Zeit entwickelt hat. Am Anfang des von uns betrachteten Jahrzehnts war der Hauptschauplatz der Desktop-PC, Netzwerke steckten noch mehr oder weniger in den Kinderschuhen. Grafische Benutzeroberflächen hielten langsam Einzug auf den Rechnern, das Internet war einem nur mehr oder weniger elitären Benutzerkreis bekannt und zugänglich. Desktop-PCs wurden mit immer besserer Hardware ausgestattet, ein Super-PC von 1990 galt zwei Jahre später als total veraltet und musste wegen der gestiegenen Anforderungen der Software an die Hardware oft zumindest drastisch aufgerüstet, wenn nicht sogar ersetzt werden.

Sie merken vielleicht an diesen wenigen Worten, wie dramatisch sich die IT-Welt seitdem verändert hat. Die Evolution betraf aber nicht nur Software und Hardware. Software muss, ehe sie den Benutzer bei seiner täglichen Arbeit unterstützen kann, entwickelt werden. Hier kochten viele Unternehmen ein eigenes Süppchen und warben bei den Entwicklern und Entscheidungsträgern mit Entwicklungsumgebungen, die zum einem auf den unterschiedlichsten Programmiersprachen aufsetzten und zudem auch noch mit eigenen Funktionsbibliotheken aufwarteten: Borlands Delphi, Microsofts Visual Basic, für die Puristen C und C++ – um nur die bekanntesten Vertreter zu nennen.

Die Vielfalt betraf jedoch nicht nur die Entwicklung der Software. Immer neue Plattformen, angepasst an den jeweils aktuellen Trend der Zeit, eroberten den Markt und verschwanden nicht selten auch schnell wieder. Die Unternehmensnetzwerke mussten mit der stürmischen Entwicklung Schritt halten, wurden komplexer und komplizierter und öffneten sich zunehmend auch der Welt nach außen.

In dieser Periode begann auch der Siegeszug des Internets. Obgleich es anfangs nur als weltweiter Verteiler statischer Dateninformationen positioniert war, wurden immer mehr Technologien ausgedacht, die die statischen Webseiten durch dynamische ersetzten, die dem Anwender nicht immer dieselben Informationen bereitstellten sondern genau die, für die er sich interessierte. Datenbanken wurden hinter die Webserver geschaltet und fütterten die Webseiten mit dem aktuellsten Informationsstand.

Kluge Köpfe erkannten auch sehr schnell, dass die Spezifikationen des Internets sich auch dazu eignen, mehrere verschiedene Unternehmen zu koppeln. Damit wurde die Grundlage dafür geschaffen, dass Sie heute im Reisebüro oder im Internet-Browser eine Reise buchen können, die nicht nur den Flug, sondern gleichzeitig auch eine gültige Hotelzimmerbuchung, vielleicht sogar samt Mietwagen, beinhaltet – obwohl hierzu schon drei Informationsquellen mit unterschiedlicher Software abgezapft werden müssen: ein nicht ganz einfaches Unterfangen, wenn Sie bedenken, dass möglicherweise die Schnittstellen, über die die verschiedenen Komponenten sich zwangsläufig austauschen müssen, nicht einheitlich definiert sind.

Bei dieser rasanten Entwicklung der Möglichkeiten, Daten auszutauschen oder auch nur einfach weiterzuleiten, sollten Sie nicht vergessen, dass auch die Hardware eine ähnliche Entwicklung genommen hat. Ein Handy besitzen heutzutage schon die meisten schulpflichtigen Kinder, und Pocket-PCs, PDAs und andere Kleincomputer haben schon lange ihren Siegeszug angetreten, dessen Ende auch nicht im Entferntesten erkennbar ist.

An der Schnittstelle all dieser Vielfältigkeit steht der Entwickler. Denn was nutzen die beste Hardware und die ausgeklügelsten Spezifikationen, wenn die Bits sich nicht den Weg von einem zum anderen Endpunkt bahnen? Für diesen Bitfluss wollen Sie als Entwickler sorgen. Damit fangen aber wegen der oben erwähnten Vielgestaltigkeit der IT-Welt die Probleme an: verschiedene Plattformen, unterschiedliche Programmiersprachen, mehrere Klassenbibliotheken, eine Vielzahl zu beachtender Spezifikationen usw.

Einen ersten Schritt in Richtung Vereinheitlichung beschritt die Firma Sun mit Java. Der Erfolg, den diese plattformunabhängige Sprache hatte und auch immer noch hat, war auch ein Zeichen für Microsoft, um das Entwicklerterrain zu kämpfen. Nach einer eingehenden Analyse der Anforderungen, die gegen Ende der 90er-Jahre an die damalige Software gestellt wurden, sowie einer Trendanalyse der Folgejahre wurde das .NET Framework entwickelt. Dabei konnte Microsoft die »Gunst der späten Stunde« nutzen und die Nachteile und Schwachpunkte, die jedes Produkt, also auch Java, hat, durch neue Ideen ausmerzen.

Nein, .NET ist natürlich auch kein Heilsbringer und wird sicherlich nicht die Menschheit überdauern. Aber nach heutigen Maßstäben ist .NET das wahrscheinlich effizienteste Framework, in dessen Mittelpunkt die .NET Klassenbibliothek steht. Diese bietet Ihnen alles, was Sie zum Entwickeln brauchen – egal, ob es sich um eine einfache Anwendung handelt, die nur ein paar Daten anzeigt, oder um eine Unternehmensanwendung großen Stils. Sie können Desktop-Anwendungen genauso erstellen wie eine hochkomplexe Internet-Anwendung. Sie können die Office-Produkte damit programmieren, fremde Datenquellen anzapfen, Programme für Ihren Pocket-PC schreiben und vieles mehr. Dazu müssen Sie sich nicht immer wieder in neue Programmiersprachen und neue Entwicklungsumgebungen einarbeiten, denn alles ist wie aus einem Guss.

Ich möchte jetzt nicht den Eindruck vermitteln, dass alles ganz einfach ist und Sie demnächst ganz tolle Anwendungen mit den tollsten Features präsentieren können. Dafür ist die .NET-Klassenbibliothek einfach zu umfangreich. Aber Sie können sich darauf verlassen, dass Sie sich nun auf das Wesentliche Ihrer Arbeit konzentrieren können: Sie arbeiten unabhängig vom Typ der zu entwickelnden Anwendung immer in derselben Umgebung, zum Beispiel mit Visual Studio 2008. Sie brauchen sich nicht immer wieder aufs Neue in andere Programmiersprachen einzuarbeiten, sondernkönnen auf gewonnene Kenntnisse aufsetzen. Und Ihnen werden alle Mittel an die Hand gegeben, um auf wirklich einfachste Weise mit fremden Anwendungen zu kommunizieren, wenn sich diese an bestimmten, allgemein anerkannten Spezifikationen orientieren. XML ist hierbei das Zauberwort, das das alles ermöglicht.

Eine Funktionsbibliothek (eigentlich müsste ich an dieser Stelle richtigerweise von einer Klassenbibliothek sprechen) ist nur so gut, wie sie auch zukünftige Anforderungen befriedigen kann. Dass .NET hier architektonisch den richtigen Weg beschritten hat, beweist die derzeit aktuelle Version 3.5.

Genau an dieser Stelle darf ich Ihnen natürlich auch den großen Haken nicht verschweigen, den die ansonsten so hervorragende Umgebung hat: Sie werden mit Sicherheit niemals alle Tiefen von .NET ergründen. Als jemand, der von der ersten Beta-Version mit dabei war, muss ich sagen, dass ich mich immer wieder aufs Neue davon überraschen lassen muss, welche Fähigkeiten in der .NET-Klassenbibliothek schlummern. Verabschieden Sie sich von der Idee, jemals alle Klassen mit ihren Fähigkeiten erfassen zu können. Die Klassenbibliothek ist einfach zu mächtig.


Galileo Computing - Zum Seitenanfang

1.1.1 Ein paar Worte zu diesem Buch Zur nächsten ÜberschriftZur vorigen Überschrift

Mit der Einführung von .NET in den Jahren 2001/2002 änderte sich die Philosophie der Anwendungsentwicklung – zumindest im Hause Microsoft. Die Karten wurden neu gemischt, denn das architektonische Konzept war gesamtheitlich neu. Da .NET grundsätzlich plattformunabhängig ist, ähnlich wie Java auch, zeigte Microsoft gleichzeitig zum ersten Mal ernsthaft die Akzeptanz anderer Plattformen.

.NET ist 100%ig objektorientiert. Das ist Fakt. Obwohl das objektorientierte Programmieren schon seit vielen Jahren in vielen Sprachen eingeführt worden ist, sind nicht alle professionellen Entwickler in der Lage, auf dieser Basis Programme zu entwickeln. Teilweise sträuben sie sich sogar mit Händen und Füßen gegen die Denkweise in Klassen und Objekten, denn ihre Denkweise ist zu sehr in der prozeduralen Programmierung verwurzelt.

Es spielt keine Rolle, ob man einfachste Programme zur Konsolenausgabe entwickelt, lokale Windows-Anwendungen oder Applikationen für das Internet – immer spielen Klassen und Objekte die tragende Rolle. Daher ist es unumgänglich, zunächst die Grundlagen einer .NET-Entwicklungssprache einschließlich des objektorientierten Ansatzes zu beherrschen, bevor man sich in das Abenteuer visualisierter Oberflächen stürzt.

Mit diesem Buch möchte ich Ihnen diese notwendigen Grundlagen fundiert und gründlich vermitteln und danach zeigen, wie mit der WinForms-Bibliothek und der Windows Presentation Foundation herkömmliche Windows-Anwendungen entwickelt werden. Das Buch ist in Kapitel aufgeteilt, die logisch aufeinander aufbauen. Jedes Kapitel enthält wiederum einzelne Abschnitte, die ein untergeordnetes Thema abgrenzen. Die Gliederung könnte man wie folgt beschreiben:

  • Einführung in die Entwicklungsumgebung
  • Die Sprachsyntax von Visual C# einschließlich des objektorientierten Ansatzes
  • Die wichtigsten .NET-Klassenbibliotheken
  • Die Entwicklung einer grafischen Benutzerschnitstelle
  • .NET-spezifische Entwicklungsaspekte

In diesem Kapitel werden zuerst die elementaren Grundlagen von .NET erörtert. Zwangsläufig fallen deshalb schon im ersten Kapitel Begriffe, die Ihnen möglicherweise zu diesem Zeitpunkt nicht sehr viel sagen. Ich gebe gern zu, auch ich hasse Bücher, die sich zunächst ausgiebig über eine Technologie auslassen, mit Fachbegriffen jonglieren und sich erst nach einigen frustrierenden Seiten dem eigentlichen Thema widmen. Dennoch ist es unumgänglich, zuerst den Kern von .NET mit seinen Vorteilen für den Programmierer zu erläutern, bevor man sich mit der Sprache auseinandersetzt. Allerdings werde ich mir Mühe geben, Sie dabei nicht allzu sehr zu strapazieren, und mich auf das beschränken, was für den Einstieg als erste Information unumgänglich ist. Lassen Sie sich also nicht entmutigen, wenn ein Begriff fällt, den Sie nicht zuordnen können, und lesen Sie ganz locker weiter – in diesem Buch werde ich nichts als bekannt voraussetzen, Sie werden alles noch intensiv lernen.

Bevor wir uns ab Kapitel 2 der Sprache widmen, wird die Entwicklungsumgebung Visual Studio 2008 vorgestellt. Wenn Sie mit einer alten Version von Visual Studio gearbeitet haben, werden Sie sicherlich relativ schnell mit der neuen vertraut. Sollten Sie keine Erfahrungen mitbringen, dürften am Anfang einige Probleme mit dem Handling auftreten. Dazu kann ich Ihnen nur einen Rat geben: Lassen Sie sich nicht aus der Fassung bringen, wenn sich »wie von Geisterhand« klammheimlich plötzlich ein Fenster in die Entwicklungsumgebung scrollt oder Sie die Übersicht verlieren – vor den Erfolg haben die Götter den Schweiß gesetzt.

In Kapitel 2 beginnen wir mit dem eigentlichen Thema dieses Buches. Ich stelle Ihnen die Syntax der Sprache Visual C# 2008 vor, lasse dabei aber noch sämtliche Grundsätze des objektorientierten Ansatzes weitestgehend außer Acht. Sie sollen zunächst lernen, Variablen zu deklarieren, mit Daten zu operieren, Schleifen zu programmieren usw. In den Kapiteln 3 bis 5 wenden wir uns ausführlich dem objektorientierten Ansatz zu. Diese Kapitel gehören sicherlich zu den wichtigsten in diesem Buch, denn Sie werden niemals eine .NET-basierte Anwendung entwickeln können, wenn Sie nicht in der Lage sind, klassenorientierten Code zu lesen und zu schreiben.

Nachdem ich Ihnen in Kapitel 6 einige besondere Features von Visual Studio 2008 gezeigt habe, werden in den Kapiteln 7 bis 12 besondere Programmiertechniken gezeigt, die Sie in fast jedem Programm brauchen. Sie lernen beispielsweise, Laufzeitfehler zu behandeln, mit Dateien zu arbeiten und multithreadingfähige Programme zu entwickeln. Auch die neue Abfragesprache LINQ wird hier ein Thema sein.

Bis einschließlich Kapitel 12 werden wir alle Beispiele an der Eingabekonsole entwickeln. Das hat einen sehr einfachen Grund: Sie können sich auf das Wesentliche konzentrieren und sich den Sprachelementen widmen. Aber richtig Spaß macht erst die Entwicklung grafischer Oberflächen, die das Thema ab Kapitel 13 bis fast zum Ende des Buches ist.

Nachdem ich Ihnen die traditionelle Entwicklung von Windows-Anwendungen mit den WinForms gezeigt habe, stelle ich Ihnen die neue Technik vor, die Windows Presentation Foundation (WPF). Mit dieser Programmierschnittstelle können Sie ebenfalls Windows-Anwendungen schreiben, aber auf eine ganz andere Art und Weise.

Datenbanken spielen in nahezu jeder Anwendung eine wichtige Rolle. In den Kapiteln 25 bis 30 werden wir uns daher mit ADO.NET beschäftigen. ADO.NET beschreibt Klassen, um auf Daten aus einer beliebigen Datenquelle, hier insbesondere einer Datenbank, zuzugreifen. Ganz zum Schluss darf natürlich auch eine Beschreibung der Verteilungstechniken einer .NET-Anwendung nicht fehlen.

Vielleicht werden Sie sich fragen, wo denn ASP.NET-Webanwendungen, ASP.NET-Webdienste, .NET-Remoting, Windows Communication Foundation (WCF) usw. ihre Erwähnung finden. Meine Antwort dazu lautet: Nirgendwo in diesem Buch. Denn schauen Sie sich nur den Gesamtumfang des Buches an, das Sie gerade in den Händen halten. Die Themen, die hier beschrieben sind, werden nicht nur oberflächlich behandelt, sondern gehen oft auch ins Detail. Es bleibt kein Platz mehr für die anderen Technologien.


Galileo Computing - Zum Seitenanfang

1.1.2 Die Beispielprogramme topZur vorigen Überschrift

Begleitend zu der jeweiligen Thematik werden in jedem Kapitel Beispiele entwickelt, die Sie auf der DVD-ROM finden, die diesem Buch beiliegt. Im Buch sind diese Beispiele am Anfang des Quellcodes wie folgt gekennzeichnet:

// ---------------------------------------------------------

// Beispiel: ...\Kapitel 6\EinBeispielprogramm
// ---------------------------------------------------------

Dieses Beispiel gehört demnach zu Kapitel 6, und der Name der Anwendung lautet EinBeispielprogramm.

Eine allgemeine Bemerkung noch zu den Beispielen und Codefragmenten. Als Autor eines Programmierbuches steht man vor der Frage, welchen Schwierigkeitsgrad die einzelnen Beispiele haben sollen. Werden komplexe Beispiele gewählt, liefert man häufig eine Schablone, die in der täglichen Praxis mit mehr oder weniger vielen Änderungen oder Ergänzungen übernommen werden kann. Andererseits riskiert man damit aber auch, dass mit der Komplexität der Blick des Lesers für das Wesentliche verloren geht und schlimmstenfalls die Beispiele nicht mit der Intensität studiert werden, die zum Verständnis der Thematik erforderlich wäre.

Ich habe mich für einfachere Beispielprogramme entschieden. Einen erfahrenen Entwickler sollte das weniger stören, weil er sich normalerweise mehr für die Möglichkeiten der Sprache interessiert, während für einen Einsteiger kleine, überschaubare Codesequenzen verständlicher und letztendlich auch motivierender sind.

Auf der DVD-ROM ist das gesamte Paket der Visual Studio Express Editions enthalten. Leider war es bis zur Drucklegung des Buches nicht möglich, eine 90-Tage-Trial-Vollversion zu erhalten.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2008






Visual C# 2008
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Coding for Fun






 Coding for Fun


Zum Katalog: Einstieg in Visual C# 2008






 Einstieg in
 Visual C# 2008


Zum Katalog: Videotraining - Visual C# 2008






 Videotraining -
 Visual C# 2008


Zum Katalog: Fortgeschrittene Programmierung mit Visual C# 2008






 Fortgeschrittene
 Programmierung mit
 Visual C# 2008


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Einstieg in XML






 Einstieg in XML


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de