Freitag, Dezember 12th, 2008 | by Simon Bitschnau | Posted in .NET Framework, Asp.net, Visual Studio | 4 Comments »
Die MVC Pattern hat gerade durch Frameworks wie Ruby on Rails sehr stark an Popularität gewonnen. Mit ASP.NET MVC bietet nun auch Microsoft ein solches Framework an, welches zur Zeit als Beta Version auf der offiziellen Website verfügbar ist.
Die UI Integration bei der deutschen VS Version scheint zur Zeit noch etwas verbugt zu sein. Wer das ganze selber ausprobieren will, sollte also wenn möglich die englische Version installieren.
Für die MVC Views werden aspx Seiten genutzt. Diese Seiten nutzen im Gegensatz zu Webforms aber keinen form Tag mit dem runat=”server” Attribut. Dass befreit uns dann zwar von dem Viewstate, dafür sind aber auch keine Serversteuerelemente mehr nutzbar. Standardelemente wie Textboxen werden daher über HTML Helper Funktionen eingefügt.
Das Postbackmodell fällt somit weg und es liegt am Entwickler, sich die gesendeten Daten zu merken. ASP.net MVC bietet hier aber gute Unterstützung durch die Modelbinders, welche die Formdaten automatisch an komplexe Models binden kann.
Im Endeffekt handelt es sich aber auch bei MVC um eine ASP.net Anwendung. Entsprechenden kann man diese auch mit Webforms vermischt werden, was recht gut in diesem Artikel erklärt wird.
Donnerstag, Dezember 4th, 2008 | by Daniel Siegl | Posted in .NET Framework, C#, Compact Framework, Patterns | No Comments »
Habe gerade bei Chris Take was interessantes gesehen.
public class GenericEventArg<T> : EventArgs
{
public GenericEventArg(T value)
{
Value = value;
} public T Value { get; set; }
}
public event EventHandler<GenericEventArg<MyClass>> MyClassEvent;
public event EventHandler<GenericEventArg<List<string>>> StringListEvent;
public event EventHandler<GenericEventArg<int>> IntEvent;
Dienstag, November 11th, 2008 | by Alexander Schölzhorn | Posted in Patterns, Programmierung Allgemein | No Comments »
Das leider allzu beliebte Singleton Pattern wird meines Erachtens viel zu oft verwendet. Es gibt natürlich einige Szenarien, in denen dieses Pattern nicht nur praktisch, sondern auch sinnvoll sein kann, wie z.B. bei globalen Einstellungen für das Programm.
Allerdings ist eine Klasse, die als Singleton implementiert ist, so gut wie nicht mittels Unittests testbar. Dieses Problem kann man lösen, indem man die Klasse nicht als Singleton implementiert und für die Verwendung der Klasse selbst einen Microkernel verwendet. Der Kernel kümmert sich um die Instanzierung und kann auf Wunsch eine Instanz als Singleton halten.
Eine kleine unvollständige Liste von Microkernel für .net:
Microsoft Unity
Spring.Net
CastleProject
Ralf Westphals Microkernel (leicht abgeändert auch seht gut am Compact Framework einsetzbar) mit Artikel