Active record patroon

Uit Wikipedia, de vrije encyclopedie

In de informatica, is het active record patroon een ontwerppatroon dat vaak gebruikt wordt in bedrijfssoftware.

Active record is een manier om gegevens te gebruiken uit een database. Een tabel of view wordt dan verpakt als een klasse, waardoor een object is gelinkt aan een rij uit een tabel. Nadat een object is aangemaakt wordt er pas een nieuwe rij aangepakt als het object wordt opgeslagen. Elk object haalt zijn informatie uit de database; als het object wordt geüpdatet wordt ook de bijbehorende rij in de tabel veranderd.

Een voorbeeld: een database heeft een tabel parts met de kolommen name (tekenreeks) en price (numeriek), en het Active Record patroon is geïmplementeerd in de klasse Part, pseudo-code:

a = new Part
a.name = "Sample part"
a.price = 123.45
a.save

Dit zal een nieuwe rij in de tabel parts maken met de gegeven waardes. De SQL-code kan er als volgt uitzien:

INSERT INTO parts (name, price) VALUES ('Sample part', 123.45);

Men kan natuurlijk ook zoeken in de database:

b = Part.find_first_part("name", "gearbox")

Dit zal een nieuw object van Part maken, gebaseerd op het eerst gevonden resultaat uit de parts tabel met name kolom als waarde "gearbox". Het SQL-commando zou kunnen zijn:

SELECT * FROM parts WHERE name = 'gearbox' LIMIT 1;