вторник, 5 августа 2008 г.

Об'єктно-реляційне відображення

Дані зберігаються за допомогою реляціної моделі (relational databases), предметні об’єкти (business objects) існують у моделі об’єктно-орієнтованій. Якщо додати ще рівень відображення (presentation layer), то отримаємо знайому трирівневу модель.
Але зі зв'язкою між даними та об’єктами не все просто. І варто це виділяти в окремий рівень, рівень збереження (persistence layer), на якому виконується саме це відображення (object/relational mapping). У першій главі книжки NHibernate in Action описуються три підходи реалізації цих чотирьох рівнів додатку у контексті використання дотнет-технології. Ручне уведення коду забезпечує гнучкість на рівні предметної області за рахунок відмови від загального предка, але вимагає великого навантаження під час реалізації двох верхніх рівнів. Стандартний підхід є використання DataSet з генерацію коду студією, цей підхід не є достатньо гнучким та високорівневим, хоча операції створення, читання, редагування та видалення (Create, Read, Update, Delete - CRUD) реалізуються достатньо швидко, але інші доведеться вводити вручну. З використанням такого інструменту ORM як NHibernate досягається поєднання та покращення переваг попередніх підходів та уникнення недоліків. Щодо новітніх технологій Linq та.Net Entity Framework, то вони покращують ситуацію, але недостатньо (ось відповідна гілка форуму).
Ще. Офіційний сайт платформи, де є безкоштовна документація

Комментариев нет: