Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Einstieg in ASP.NET von Matthias Lohrer
Einstieg in ASP.NET
gp Kapitel Wie .NET und ASP.NET funktionieren
  gp 1.1 Komponenten der .NET-Architektur
    gp 1.1.1 Common Language Runtime (CLR)
    gp 1.1.2 .NET Framework
    gp 1.1.3 Microsoft Intermediate Language (MSIL)
    gp 1.1.4 Managed Code, unmanaged Code
    gp 1.1.5 Common Type System (CTS)
    gp 1.1.6 Common Language Specification (CLS)
    gp 1.1.7 Just-in-Time-Compiler
    gp 1.1.8 ASP.NET
    gp 1.1.9 Web Services
    gp 1.1.10 VB- und C#-Compiler
    gp 1.1.11 Assembly
  gp 1.2 Aufbau des .NET Frameworks
    gp 1.2.1 Namensräume (Namespaces)
    gp 1.2.2 Häufig verwendete Namensräume
  gp 1.3 Grundlagen von ASP.NET
    gp 1.3.1 Gemeinsamkeiten mit anderen serverseitigen Programmiersprachen
    gp 1.3.2 Unterschiede zu anderen serverseitigen Programmiersprachen


Galileo Computing

1.2 Aufbau des .NET Frameworks  downtop


Galileo Computing

1.2.1 Namensräume (Namespaces)  downtop

Sinngemäß zusammengehörige Klassen des .NET Frameworks werden in Namensräumen (Namespaces) zusammengefasst. Ein Namensraum kann Klassen und/oder weitere Namensräume enthalten, so dass sich eine Hierarchie von Namensräumen ergibt. Ein Namensraum kann außer Klassen auch Schnittstellen, Strukturen, Delegates und Enumerationen definieren.

Beispiele:

Der Namensraum System.Text enthält unter anderem die Klassen StringBuilder und ASCIIEncoding.

Der Namensraum System.Web.UI.WebControls definiert zahlreiche Webserversteuerelemente, z. B. Button und TextBox.

Die Dokumentation zum .NET Framework SDK enthält unter dem Punkt Referenz/Klassenbibliothek eine Übersicht über die vorhandenen Namensräume (siehe Abbildung 1.1).

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 1.1 Sinngemäß zusammengehörige Klassen werden in Namespaces (Namensräumen) zusammengefasst.

Jede Klasse gehört zu genau einem Namensraum. Sie können eine Klasse eindeutig bezeichnen (insbesondere auch im Programmcode), indem Sie die Klasse einschließlich ihres Namensraumes anführen. Auf diese Weise lässt sich beispielsweise die Klasse System.Web.UI.WebControls.TextBox eindeutig von der Klasse System.Windows.Forms.TextBox unterscheiden.


Achtung   Die Hierarchie der Namensräume ist unabhängig von der Vererbungshierarchie der .NET-Klassen. Namensräume enthalten Klassen mit völlig unterschiedlichen Vererbungshierarchien.

Der bereits erwähnte Namensraum System.Web.UI.WebControls enthält beispielsweise unter anderem die Klasse CompareValidator. Die Vererbungshierarchie der Klasse CompareValidator lautet:

System.Object
  System.Web.UI.Control
    System.Web.UI.WebControls.WebControl
      System.Web.UI.WebControls.Label
        System.Web.UI.WebControls.BaseValidator
         System.Web.UI.WebControls.BaseCompareValidator
           System.Web.UI.WebControls.CompareValidator

Jede tiefer stehende Klasse erbt von der darüber stehenden Klasse, bis am Anfang System.Object als Urvater aller .NET-Klassen erreicht ist. Die Klasse System.Web.UI.Control erbt direkt von System.Object. Von System.Web. UI.Control ausgehend wird die Klasse mehrmals durch Klassen weitervererbt, die alle innerhalb des System.Web.UI.WebControls-Namensraumes stehen, bis am Ende die Klasse CompareValidator entstanden ist (siehe Abbildung 1.2).

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 1.2 Die Vererbungshierarchie einer Klasse ist unabhängig von ihrer Einordnung in einen Namensraum.


Galileo Computing

1.2.2 Häufig verwendete Namensräume  toptop

Die folgenden Namensräume werden im Verlauf dieses Buches immer wieder genutzt werden.

System

Dieser grundlegende Namensraum ist immer präsent. Er definiert unter anderem die grundlegenden Datentypen, die Klassen für Exceptions und solche Typen, die für Routinen zur Ereignisbearbeitung benötigt werden.

System.Collections und System.Collections.Specialized

Mit den Klassen und Schnittstellen dieser Namensräume kommt man oft in Berührung, weil andere Klassen sie oft verwenden. Hier werden diverse Arten von Listen, Hashtabellen und Dictionaries für verschiedene Einsatzzwecke definiert. Ein Auflistung von Schlüssel-Wert-Paaren kann beispielsweise von einem Objekt vom Typ System.Collections.Specialized.NameValueCollection repräsentiert werden.

System.Data, System.Data.OleDB, System.Data.SqlClient

Diese Namensräume enthalten alles, was man für den Zugriff auf Datenbanken benötigt. Die Datenzugriffstechnologie ADO.NET wird hier definiert. System.Data.OleDB enthält den Datenprovider für die OLE-DB-Schnittstelle. Für den Microsoft SQL Server gibt es einen eigenen Namensraum System. Data.SqlClient.

System.Net

Dieser Namensraum definiert Programmierschnittstellen für die bekannten Internetprotokolle. Die Klasse HttpWebRequest repräsentiert beispielsweise eine HTTP-Anfrage und die Klasse HttpWebResponse repräsentiert eine Antwort des Servers.

System.Text

Dieser Namensraum enthält hauptsächlich eine Klasse, die gelegentlich Verwendung finden sollte, und zwar den Typ StringBuilder. Im Prinzip kann die Klasse nicht viel mehr als Strings zusammensetzen. Dabei bietet sie aber eine erheblich höhere Effizienz, als wenn wiederholt der Konkatenationsoperator & beziehungsweise &= aufgerufen wird.

System.Web

Der Namensraum System.Web ist in zahlreiche weitere Namensräume untergliedert, die den Kern dieses Buches über ASP.NET bilden. System.Web.UI enthält beispielsweise die Page-Klasse, die eine einzelne Webseite darstellt. System.Web.UI.HtmlControls enthält Klassen, die HTML-Elemente repräsentieren. Webserversteuerelemente sind im Namensraum System.Web.UI.WebControls zusammengefasst.

System.Xml

Bei der Arbeit mit .NET stellt man immer wieder fest, wie stark dieses Framework auf XML basiert. Die .NET-Konfigurationsdateien und der Zugriff auf Datenbanken sind zwei Beispiele für Bereiche, die nahezu vollständig XML-basiert realisiert wurden. Die Klassen im Namensraum System.Xml unterstützen die aktuellen, W3C-offiziellen Standards, z. B. XPath-Ausdrücke, XSLT-Transformationen und DOM Level 1 und 2 Core.

Nicht Gegenstand dieses Buches ist beispielsweise der Namensraum System. Windows.Forms. Dieser umfangreiche Namensraum enthält alle Elemente, die für die Gestaltung von herkömmlichen Desktop-Windows-Programmen benötigt werden. Für die Gestaltung von Weboberflächen steht demgegenüber der Namensraum System.Web.UI mit seinen untergeordneten Namensräumen zur Verfügung.

  

Einstieg in VB.NET

VB.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML




Copyright © Galileo Press GmbH 2003
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 GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de