Active Record

Шаблон active record — це шаблон проєктування що використовується при реалізації доступу до реляційних баз даних. Вперше згадується Мартіном Фаулером в книжці Patterns of Enterprise Application Architecture. Інтерфейс такого об'єкта включає функції CRUD, а також поля, що більш чи менш прямо відповідають полям відповідної таблиці в базі даних.

Active Record реалізує популярний підхід об'єктно-орієнтованого проєкціювання (ORM). Кожен клас AR відображає таблицю (чи представлення) бази даних, екземпляр AR — запис цієї таблиці, а загальні операції CRUD реалізовані як методи AR. В результаті можна працювати з більшою об'єктно-орієнтованістю.

Реалізація

public class Customer
{
	public int ID { get; set; }
	public string Name { get; set; }

	public Customer(int id, string name)
	{
		ID = id;
		Name = name;
	}

	// статичний метод працює як фабрика
	public static Customer GetByID(int id)
	{
		Db db = ...;
		var record = db.ReadUser(id);

		return new Customer(record.id, record.name);
	}

	public void Save()
	{
		...
	}

	public void Delete()
	{
		Db db = ...;
		db.Delete(this.ID);
	}
}

Див. також

Посилання

Література

Алан Шаллоуей, Джеймс Р. Тротт. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию = Design Patterns Explained: A New Perspective on Object-Oriented Design. — М. : «Вильямс», 2002. — 288 с. — ISBN 0-201-71594-5.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.