Een abstracte DAL basis klasse
Het is een goede praktijk om de basisklasse absract te maken. Op die manier geef je duidelijk aan dat er van die klasse geen objecten gemaakt kunnen worden.
Daarenboven kan je de CRUD methoden abstract maken. Op die manier verplicht je dat klassen die overerven van die basisklasse deze methoden implementeren.
Als klassen die van de DAL basisklasse overerven niet alle CRUD methoden moeten implementeren maak je hier virtuele methoden van.
using System.Data; using System.Data.SqlClient; namespace Sources.DAL { public enum Database { MSSQL, MySQL } abstract class Base { // private static string connectionString // = "Server=B13-Docent;Database=JefInghelbrecht; // User Id=sa;Password=Hoboken2660;"; private static string connectionString = "Server=JEF-TOUCH\\SQLEXPRESS;Database=Sources;Trusted_Connection=True"; protected IDbConnection connection; public string Feedback { get; set; } public string ErrorMessage { get; set; } /* Static omdat de private field tot de klasse behoort en niet tot de instantie of het object */ public static string ConnectionString { get { return connectionString; } set { connectionString = value; } } public Base() { this.connection = new SqlConnection(ConnectionString); } public Base(string connectionString) : this() { ConnectionString = connectionString; } public abstract void SelectById(int id); public abstract void Insert(); public abstract void Update(); public abstract void Delete(); } }
2017-01-21 16:26:36