вторник, 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, то вони покращують ситуацію, але недостатньо (ось відповідна гілка форуму).
Ще. Офіційний сайт платформи, де є безкоштовна документація

понедельник, 31 марта 2008 г.

Лінки та параметру пошуку про інформаційні системи

axforum.ru -- про аксапту
erpforum.ru -- з назви зрозуміло, що форум про усілякі системи управління ресурсами підприємства
mesforum.ru -- системи підтримки виробництва, звичайні ерп на це не націлені, якщо серйозно працювати з ЦНІЛа, тоді треба щось подібне дивитись.
demo.navision.ru -- звідси можна скачати локалізовану для Росії демо версію навіжна -- засоба для малого та середнього бізнесу.
NAV -- скорочення для навіжн.
AX -- для аксапти.
forum.mazzy.ru -- чєл, що активно здається усе свідоме життя займається аксаптою.
Access Runtime -- щоб розповсюджувати готові рішення не треба вимагати від клієнтів наявності акцесу, але включити це у поставку або запропонувати викачати з макрософтовського сайту.
лог транзакцій -- це такий файл у сіквел сервері, який схильний до подвійного зростання, та цю пухлину треба вміти зупиняти без хєрургії.
Baan та SAP -- конкуруючі системи корпоративного сегменту.
nt.ua -- авторизований центр навчання та сертифікації по продуктам та технологіям зокрема мєлкософту.

понедельник, 10 марта 2008 г.

FileSystemWatcher для декількох папок

Клас FileSystemWatcher дозволяє спостерігати за зміною у вказаному каталозі.
Потрібно створити клас DirectoriesWatcher для спостереження за каталогами, імена яких задані у app.config або передаються параметрами у конструктор. Клас містить подію, яка буде виникати при змінах у будь-якій з заданих папок.
[1, глава 10]

понедельник, 4 февраля 2008 г.

Скарбничка розробника

http://www.shareinfo.ru -- стрічка, яка містить лінки на корисні ресурси для дотнетчика.

четверг, 6 декабря 2007 г.

Пошук повторів у таблиці

Треба обрати з таблиці Users(id, mail) записи з неунікальним значенням поля mail.
SELECT * FROM Users AS U
WHERE id < ANY (
SELECT id FROM Users
WHERE Users.mail = U.mail
)
Якщо адреса неунікальна, то відповідні записи будуть виведені, крім запису з максимальним значенням id.