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

Inhaltsverzeichnis
Vorwort zur 6. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Das Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Strukturen und Enumerationen
7 Fehlerbehandlung und Debugging
8 Auflistungsklassen (Collections)
9 Generics – Generische Datentypen
10 Weitere C#-Sprachfeatures
11 LINQ
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 XML
15 Multithreading und die Task Parallel Library (TPL)
16 Einige wichtige .NET-Klassen
17 Projektmanagement und Visual Studio 2012
18 Einführung in die WPF und XAML
19 WPF-Layout-Container
20 Fenster in der WPF
21 WPF-Steuerelemente
22 Elementbindungen
23 Konzepte von WPF
24 Datenbindung
25 Weitere Möglichkeiten der Datenbindung
26 Dependency Properties
27 Ereignisse in der WPF
28 WPF-Commands
29 Benutzerdefinierte Controls
30 2D-Grafik
31 ADO.NET – Verbindungsorientierte Objekte
32 ADO.NET – Das Command-Objekt
33 ADO.NET – Der SqlDataAdapter
34 ADO.NET – Daten im lokalen Speicher
35 ADO.NET – Aktualisieren der Datenbank
36 Stark typisierte DataSets
37 Einführung in das ADO.NET Entity Framework
38 Datenabfragen des Entity Data Models (EDM)
39 Entitätsaktualisierung und Zustandsverwaltung
40 Konflikte behandeln
41 Plain Old CLR Objects (POCOs)
Stichwort

Download:
- Beispiele, ca. 62,4 MB

Buch bestellen
Ihre Meinung?

Spacer
Visual C# 2012 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2012

Visual C# 2012
Rheinwerk Computing
1402 S., 6., aktualisierte und erweiterte Auflage 2013, geb., mit DVD
49,90 Euro, ISBN 978-3-8362-1997-6
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 Das Entwicklerdilemma
Pfeil 1.2.2 .NET – Ein paar allgemeine Eigenschaften
Pfeil 1.2.3 Das Sprachenkonzept
Pfeil 1.2.4 Die »Common Language Specification« (CLS)
Pfeil 1.2.5 Das »Common Type System« (CTS)
Pfeil 1.2.6 Das .NET Framework
Pfeil 1.2.7 Die »Common Language Runtime« (CLR)
Pfeil 1.2.8 Die .NET-Klassenbibliothek
Pfeil 1.2.9 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 2012
Pfeil 1.4.2 Hard- und Softwareanforderungen
Pfeil 1.4.3 Die Installation
Pfeil 1.4.4 Die Entwicklungsumgebung von Visual Studio 2012

1 Allgemeine Einführung in .NETZur nächsten Überschrift


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. Gleichzeitig einen Programmieranfänger behutsam in die abstrakte Denkweise der Programmlogik einzuführen, ohne dabei 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 den 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 einen 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 Internetbrowser 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 angezapft werden müssen: ein nicht ganz einfaches Unterfangen, wenn Sie bedenken, dass möglicherweise die Schnittstellen, über die sich die verschiedenen Komponenten 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ügeltsten 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 2012. Sie brauchen sich nicht immer wieder aufs Neue in andere Programmiersprachen einzuarbeiten, sondern kö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 4.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 an 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 BuchZur 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 – zumindest für das Haus Microsoft – 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 Windows Presentation Foundation (WPF) Windows-Anwendungen entwickelt werden und wie Sie mit ADO.NET auf Datenbanken zugreifen. 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 Benutzerschnittstelle mit der Windows Presentation Foundation (WPF)
  • Datenzugriffe mit ADO.NET und dem Entity Framework

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 überarbeitete Entwicklungsumgebung Visual Studio 2012 vorgestellt (die übrigens jetzt auch mit der WPF designt wurde). Wenn Sie mit einer alten Version von Visual Studio gearbeitet haben, werden Sie sicherlich schnell mit der neuen vertraut, obwohl sich in der neusten Version das Layout deutlich verändert hat. 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.

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.

Anschließend stelle ich Ihnen die Windows Presentation Foundation (WPF) vor. Mit dieser Programmierschnittstelle können Sie Windows-Anwendungen entwickeln, basierend auf der Beschreibungssprache XAML.

Datenbanken spielen in nahezu jeder Anwendung eine wichtige Rolle. In den letzten Kapiteln werden wir uns daher mit ADO.NET und dem neuen Entity Framework beschäftigen. ADO.NET beschreibt Klassen, um auf Daten aus einer beliebigen Datenquelle, hier insbesondere einer Datenbank, zuzugreifen. Das Entity Framework bietet demgegenüber einen ganz anderen Ansatz, um Daten abzufragen, und rundet thematisch dieses Buch ab.


Galileo Computing - Zum Seitenanfang

1.1.2 Die BeispielprogrammeZur 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.



Ihr Kommentar

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

>> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2012

Visual C# 2012
Jetzt bestellen


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

 Buchempfehlungen
Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: C/C++






 C/C++


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2013
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.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de