MSDN Webcast:MSDN Webcast:
VB.NET für Einsteiger und Umsteiger, VB.NET für Einsteiger und Umsteiger, Teil 10Teil 10Die erste, eigene KlassenbibliothekDie erste, eigene Klassenbibliothek(Level 100)(Level 100)
Presenter: Daniel WalzenbachPresenter: Daniel Walzenbach
TechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland [email protected]://blogs.msdn.com/walzenbach
VerlosungVerlosung
Programmieren lernen mit Programmieren lernen mit Visual Basic 2005Visual Basic 2005
10 Bücher 10 Bücher werden unter allen Teil-werden unter allen Teil-nehmern verlost, die an nehmern verlost, die an mindes-mindes-tens sieben Webcasts teilnehmentens sieben Webcasts teilnehmen
Visual Studio 2005 Visual Studio 2005 ExpressExpressKleine Geschwister des Visual Studio Kleine Geschwister des Visual Studio 20052005
KostenlosKostenlos
http://www.microsoft.com/germany/msdn/vstudio/products/express/vb/default.mspx
Visual Basic 2005 Express EditionVisual Basic 2005 Express Edition
Visual C# 2005 Express EditionVisual C# 2005 Express Edition
Visual C++ 2005 Express EditionVisual C++ 2005 Express Edition
Visual Web Developer 2005 Express Visual Web Developer 2005 Express EditionEdition
SQL Server 2005 Express EditionSQL Server 2005 Express Edition
AgendaAgenda
Übungsaufgabe Teil 9Übungsaufgabe Teil 9
KlassenbibliothekenKlassenbibliotheken
Die eigene Klassenbibliothek in Die eigene Klassenbibliothek in verschiedenen Projektenverschiedenen Projekten
ZusammenfassungZusammenfassung
ReferenzenReferenzen
Übungsaufgabe Teil 9Übungsaufgabe Teil 9
Schreiben Sie ein Programm, welches Schreiben Sie ein Programm, welches eine „horizontale“ Balkengrafik eine „horizontale“ Balkengrafik darstellen kanndarstellen kann
Die Höhe der Balken liegt in einem Die Höhe der Balken liegt in einem Integer ArrayInteger Array
ACHTUNG: Max. Länge des Balkens muss ACHTUNG: Max. Länge des Balkens muss berücksichtigt werden (Breite des berücksichtigt werden (Breite des Fensters)Fensters)
Die Balkenerzeugung und –verwaltung Die Balkenerzeugung und –verwaltung soll in einer eigenen Klasse soll in einer eigenen Klasse implementiert werdenimplementiert werden
Das verwendete Zeichen für die Balken Das verwendete Zeichen für die Balken soll frei wählbar seinsoll frei wählbar sein
Übungsaufgabe Teil 9Übungsaufgabe Teil 9
Sonstige Features:Sonstige Features:Links neben dem Balken soll die Höhe Links neben dem Balken soll die Höhe ausgegeben werdenausgegeben werden
Die Balkendaten sollen von der Tastatur Die Balkendaten sollen von der Tastatur eigelesen werdeneigelesen werden
Implementieren Sie eine SortierroutineImplementieren Sie eine Sortierroutine
AussehenAussehen25:xxxxxxxxxxxxxxxxxxxxxxxxx18:xxxxxxxxxxxxxxxxxx 5:xxxxx 7:xxxxxxx12:xxxxxxxxxxxx
Demonstration #1Demonstration #1
demodemo
Übungsaufgabe, Teil 9Übungsaufgabe, Teil 9
AgendaAgenda
Übungsaufgabe Teil 9Übungsaufgabe Teil 9
KlassenbibliothekenKlassenbibliotheken
Die eigene Klassenbibliothek in Die eigene Klassenbibliothek in verschiedenen Projektenverschiedenen Projekten
ZusammenfassungZusammenfassung
ReferenzenReferenzen
Übersicht Übersicht KlassenbibliothekKlassenbibliothekEine Klassenbibliothek istEine Klassenbibliothek ist
Spezielle Form einer ProgrammbibliothekSpezielle Form einer Programmbibliothek
Sammlung selbständiger Sammlung selbständiger Programmkomponenten (Klassen)Programmkomponenten (Klassen)
Für die Wiederverwendung vorgesehenFür die Wiederverwendung vorgesehen
Nicht selbstständig lauffähigNicht selbstständig lauffähig
Funktionalitäten der Klassenbibliothek Funktionalitäten der Klassenbibliothek sind in der Regel unabhängig vom sind in der Regel unabhängig vom AnwendungskontextAnwendungskontext
Beispiel: .NET Framework Beispiel: .NET Framework BBase ase CClass lass LLibraryibrary
.NET Framework.NET FrameworkSystem.WebSystem.Web System.Windows.FormsSystem.Windows.Forms
System.DataSystem.Data System.XMLSystem.XML
SystemSystem
• ServicesServices•DescriptionDescription•DiscoveryDiscovery•ProtocolsProtocols
•UIUI•HTML controlsHTML controls•Web controlsWeb controls
•RuntimeRuntime• Interop servicesInterop services•RemotingRemoting•SerializationSerialization
DesignDesign
ConfigurationConfiguration
CacheCache
Session stateSession state
SecuritySecurity
ImagingImaging
Drawing 2DDrawing 2D
TextText
PrintingPrinting
DesignDesign
ADO.NETADO.NET
SQL ServerCESQL ServerCE
SQL ClientSQL Client
Xslt/XPathXslt/XPath
XML DocumentXML Document
Reader/writersReader/writers
SerializationSerialization
Service processService process
ConfigurationConfiguration
ThreadingThreading
DiagnosticsDiagnostics
NetNet
IOIO
ResourcesResources
ReflectionReflection
SecuritySecurity
CollectionsCollections
GlobalizationGlobalization
TextText
Component Component modelmodel
System.DrawingSystem.Drawing
Übersicht Übersicht KlassenbibliothekKlassenbibliothekVerwendung von Klassen innerhalb Verwendung von Klassen innerhalb der Klassenbibliothek durch zwei der Klassenbibliothek durch zwei ArtenArten
Objekte der Klassenbibliothek werden Objekte der Klassenbibliothek werden erzeugterzeugt
Neue Klassen werden durch gegebene Neue Klassen werden durch gegebene Klassen der Bibliothek abgeleitetKlassen der Bibliothek abgeleitet
Zugriffe auf Klassenbibliotheken sind Zugriffe auf Klassenbibliotheken sind durch das Application Programming durch das Application Programming Interface (API) definiertInterface (API) definiert
Verwendung Verwendung KlassenbibliothekKlassenbibliothekUm eine Um eine Klassenbibliothek zu Klassenbibliothek zu verwenden muss diese verwenden muss diese referenziert werdenreferenziert werden
Nicht mit Nicht mit ImportsImports verwechselnverwechseln
Daraufhin stehen die Daraufhin stehen die Funktionalitäten der Funktionalitäten der Bibliothek in dem Bibliothek in dem eigenen Projekt zur eigenen Projekt zur VerfügungVerfügung
Demonstration #2Demonstration #2
demodemo
ReferenzenReferenzen
AgendaAgenda
Übungsaufgabe Teil 9Übungsaufgabe Teil 9
KlassenbibliothekenKlassenbibliotheken
Die eigene Klassenbibliothek in Die eigene Klassenbibliothek in verschiedenen Projektenverschiedenen Projekten
ZusammenfassungZusammenfassung
ReferenzenReferenzen
Eigene KlassenbibliothekEigene Klassenbibliothek
Geschäftslogik von Geschäftslogik von Darstellungslogik Darstellungslogik trennentrennen
SchichtenSchichten
Geschäftslogik in Geschäftslogik in eigener eigener Klassenbibliothek Klassenbibliothek auslagernauslagern
Eine Anwendung Eine Anwendung (Solution) kann aus (Solution) kann aus mehreren Projekten mehreren Projekten (Projekten) bestehen(Projekten) bestehen
Referenz in Projekt Referenz in Projekt setzensetzen
Mehrschichtige Mehrschichtige AnwendungAnwendungBeeinflusstBeeinflusst
SicherheitSicherheit
SkalierbarkeitSkalierbarkeit
VerfügbarkeitVerfügbarkeit
WartbarkeitWartbarkeit
Demonstration #3Demonstration #3
demodemo
Die eigene Klassenbibliothek in Die eigene Klassenbibliothek in verschiedenen Projektenverschiedenen Projekten
ZusammenfassungZusammenfassung
Komponenten müssen referenziert Komponenten müssen referenziert werden bevor sie in der eigenen werden bevor sie in der eigenen Anwendung verwendet werden Anwendung verwendet werden könnenkönnen
Eigene Klassenbibliotheken sind nicht Eigene Klassenbibliotheken sind nicht schwer zu erstellenschwer zu erstellen
Code kann in verschiedenen Projekten Code kann in verschiedenen Projekten wiederverwendet werdenwiederverwendet werden
Anwendungen in Schichten zerlegenAnwendungen in Schichten zerlegen
Referenzen & DownloadsReferenzen & Downloads
.NET Framework Class Library in Visual .NET Framework Class Library in Visual StudioStudio
http://msdn2.microsoft.com/en-us/library/f1yh62ef(VS.80).aspx
Application Architecture for .NET: Application Architecture for .NET: Designing Applications and ServicesDesigning Applications and Services
http://msdn2.microsoft.com/en-us/library/ms954595.aspx
Microsoft patterns & practicesMicrosoft patterns & practiceshttp://msdn2.microsoft.com/en-us/library/http://msdn2.microsoft.com/en-us/library/ms998572.aspxms998572.aspx
KlassenbibliothekKlassenbibliothekhttp://de.wikipedia.org/wiki/Klassenbibliothekhttp://de.wikipedia.org/wiki/Klassenbibliothek
Referenzen & DownloadsReferenzen & Downloads
Microsoft Visual Basic 2005 - Das Microsoft Visual Basic 2005 - Das EntwicklerbuchEntwicklerbuch
http://www.edv-buchversand.de/mspress/http://www.edv-buchversand.de/mspress/product.asp?cnt=product&id=ms-537&lng=0product.asp?cnt=product&id=ms-537&lng=0
MSDN Solve, Antworten für EntwicklerMSDN Solve, Antworten für Entwicklerhttp://msdn-solve.de/http://msdn-solve.de/
Questions and AnswersQuestions and Answers
Daniel [email protected] http://blogs.msdn.com/walzenbach