Dela via


Översikt över fabriksmodell

ADO.NET 2.0 introducerade nya basklasser i System.Data.Common namnområdet. Basklasserna är abstrakta, vilket innebär att de inte kan instansieras direkt. De inkluderar DbConnection, DbCommandoch DbDataAdapter och delas av .NET Framework-dataprovidrar, till exempel System.Data.SqlClient och System.Data.OleDb. Tillägget av basklasser förenklar tillägg av funktioner till .NET Framework-dataprovidrar utan att behöva skapa nya gränssnitt.

ADO.NET 2.0 introducerade också abstrakta basklasser, vilket gör det möjligt för en utvecklare att skriva allmän dataåtkomstkod som inte är beroende av en specifik dataprovider.

Designmönster för fabrik

Programmeringsmodellen för att skriva leverantörsoberoende kod baseras på användningen av designmönstret "factory", som använder ett enda API för att komma åt databaser mellan flera leverantörer. Det här mönstret heter passande nog, eftersom det kräver att ett specialiserat objekt används enbart för att skapa andra objekt, ungefär som en verklig fabrik. En mer detaljerad beskrivning av fabriksdesignmönstret finns i Skriva allmän dataåtkomstkod i ASP.NET 2.0 och ADO.NET 2.0.

Från och med ADO.NET 2.0 DbProviderFactories tillhandahåller static klassen (eller Shared i Visual Basic) metoder för att skapa en DbProviderFactory instans. Instansen returnerar sedan ett korrekt starkt skrivet objekt baserat på providerinformation och de anslutningssträng som angavs vid körning.

Se även