Routing in ASP.NET MVC verstehen

In ASP.NET Webforms und vielen anderen Web-Frameworks (ASP, PHP, JSP) wird eine URL in der Regel einer physischen Datei zugeordnet, die den Code und das Markup zum Rendern einer Antwort an den Browser enthält. Der URL http://www.example.com/home.aspx liegt beispielsweise die Datei home.aspx zugrunde. Dieses Routing-Konzept ist zwar leicht verständlich, aber ebenso limitierend, da eine URL immer einem vordefiniertem Schema entsprechen muss mehr...

Einführung ins Repository-Pattern

Ein Grundprinzip des MVC-Konzepts ist die Aufteilung der Anwendungsentwicklung in die drei Bereiche Model, View und Controller. Das Model enthält die gesamte Domain- bzw. Businesslogik, während der Controller das Model steuert und angibt, welcher View gerendert wird. Das MVC-Konzept folgt ganz klar dem Paradigma "Separation of Concerns", die unterschiedlichen Bereiche einer Anwendung sollen also klar getrennt werden und voneinander so unabhängig wie möglich sein. Dieses Prinzip sollte man auch beim Datenzugriff weiterführen, so ist das Model zwar für die Domainlogik und damit Manipulation der Daten zuständig, der Code für den Datenzugriff sollte aber nicht direkt im Model erfolgen, sondern in Repositories ausgelagert werden mehr...

Models in ASP.NET MVC verstehen

Models bilden neben Views und Controllern den dritten Teil einer MVC-Anwendung. Sie enthalten die Domain- bzw. Geschäftslogik der Webanwendung und sind für den Zugriff und die Verarbeitung von Daten verantwortlich. Eingehende Requests an den Server werden dabei nicht direkt vom Model, sondern von Controllern behandelt, die dann die entsprechende Modellklasse aufrufen. Models generieren auch keine HTML-Ausgabe für den Browser, diese Aufgabe übernehmen Views mehr...

Kleine Einführung in LINQ

Eine der bekanntesten Neuerungen in C# 3.0 und dem Framework 3.5 ist sicher die Einführung von LINQ (Language-Integrated Query), was ungefähr so viel heißt wie "in die Sprache integrierte Abfrage". Die Idee hinter LINQ ist, die Abfrage von Datenelementen aus verschiedene Datenquellen zu vereinfachen. Dazu stellt LINQ ein Modell bereit mit dem auf Daten aus verschiedensten Datenquellen wie etwa XML-Dokumenten, SQL-Datenbanken, .NET-Auflistungen anhand einer einheitlichen Vorgangsweise zugegriffen wird. Die Besonderheit von LINQ ist hier, dass Abfragen direkt als Code in C# oder andere .NET-Sprachen eingebunden werden können und nicht nur wie bisher als String. Man muss also nicht mehr zwangsläufig SQL lernen, um Datenbanken abzufragen oder XML Query, um Daten aus einem XML-Dokument zu lesen mehr...

Interfaces (Schnittstellen) in C# verwenden

Bei der Instanziierung einer Klasse kann man auf ihre öffentlichen Member wie Methoden und Eigenschaften zugreifen. Alle public-Member stellen also gemeinsam eine Art Schnittstelle oder Interface einer Klasse dar. Eine Klasse kann eine oder mehrere Schnittstellen implementieren. Das folgende einfache Beispiel zeigt, wie Schnittstellen implementiert werden, und wozu mehr...

Views in ASP.NET MVC verstehen

Im letzten Beispiel haben wir einen einfachen Controller erstellt, jetzt ist es an der Zeit, die erste Ansicht, bzw. den ersten View zu erstellen. Views dienen im MVC-Framework als Ansicht oder Benutzeroberfläche. Die typische Arbeitsweise einer MVC-Anwendung sieht folgendermaßen aus: eingehende Requests vom Client an den Server werden an den Controller, bzw. die darin enthaltenen Aktionsmethoden weitergeleitet. Diese führen dann den Anwendungscode aus, steuern über Modelle die Geschäftslogik, wie etwa Datenbankabfragen und wählen anschließend eine geeignete Ansicht (View) aus, die dann als Antwort im Browser gerendert wird. Views sind also ausschließlich für das Kapseln von Präsentationslogik vorgesehen, sie dürfen weder Anwendungslogik noch Geschäftslogik enthalten mehr...

Delegaten, anonyme Methoden und Lambda-Ausdrücke in C#

Ein Delegat ist ein Verweis auf eine Methode und wird, ähnlich wie eine Methode mit Parametern und einem Rückgabewert deklariert. Stimmen Parameter und Rückgabewert der Methode mit der Signatur des Delegaten überein, so kann sie über ihn aufgerufen werden. Auf diese Weise kann Code in bestehenden Klassen einfach integriert werden. Öffnet in Visual Studio eine Konsolenanwendung und kopiert das Beispiel weiter unten in die .cs-Datei. Zuerst wird der Delegat "Delegate" deklariert, der einen Parameter vom Typ string entgegennimmt und den Typ string zurückliefert. Dann wird die Methode "Method" deklariert, die mit der Signatur des Delegaten übereinstimmt. Zum Schluss wird ein Objekt "del" des Delegaten erstellt und ihm der Namen der Methode zugewiesen. Führt ihr das Beispiel aus, so werdet ihr aufgefordert, einen Namen einzugeben. Zurückgegeben wird dann ein String mit den Worten "Hallo" und dem vorhin eingegebenen Namen. mehr...

1 2