Subsonic
Subsonic ist ein Data Access Framework, das sich sehr stark an der Datenbank orientiert. Es verfolgt den Ansatz, zuerst das Datenmodell zu entwickeln und daraus automatisch die Objekte für die Datenzugriffsschicht zu generieren. Der große Vorteil dieses Frameworks ist, dass nach jeder Änderungen der Datenbank ein einziger Mausklick genügt, um den Code der Datenzugriffsschicht entsprechend anzupassen.
Im Gegensatz zu Data Access Frameworks, die den Ansatz eines klassischen Object Relational Mappers verfolgen, ist Subsonic sehr einfach zu konfigurieren und kann innerhalb von Minuten für neue Projekte verwendet werden.
Subsonic hat seinen Ursprung im Active Record Design Pattern aus der Ruby on Rails Technologie. Die Templates, die den Code generieren können angepasst werden, so dass auch andere Ansätze, wie z.B. das Repository Pattern möglich sind.
Wir verwenden Subsonic vor allem deshalb, weil wir i.d.R. zuerst das Datenmodell entwickeln und daraus dann die Data Access- und Domainlogik ableiten. Der Vorteil dieser Vorgehensweise ist, dass man beim DB Design keine Kompromisse machen muss und weniger Code bzw. gar kein Code für das Mapping von Tables zu Objects schreiben muss.