Старый добрый ADO.NET | OTUS
🔥 BLACK FRIDAY!
Максимальная скидка -25% на всё. Успейте начать обучение по самой выгодной цене.
Выбрать курс

Курсы

Программирование
iOS Developer. Basic
-25%
Python Developer. Professional
-25%
Разработчик на Spring Framework
-25%
Golang Developer. Professional
-25%
Python Developer. Basic
-25%
iOS Developer. Professional
-25%
Highload Architect
-25%
JavaScript Developer. Basic
-25%
Kotlin Backend Developer
-25%
JavaScript Developer. Professional
-25%
Android Developer. Basic
-25%
Unity Game Developer. Basic
-25%
Разработчик C#
-25%
Программист С Web-разработчик на Python Алгоритмы и структуры данных Framework Laravel PostgreSQL Reverse-Engineering. Professional CI/CD Vue.js разработчик VOIP инженер Программист 1С Flutter Mobile Developer Супер - интенсив по Kubernetes Symfony Framework Advanced Fullstack JavaScript developer Супер-интенсив "Azure для разработчиков"
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-25%
DevOps практики и инструменты
-25%
Архитектор сетей
-25%
Инфраструктурная платформа на основе Kubernetes
-25%
Супер-интенсив «IaC Ansible»
-16%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-25%
Супер-интенсив "SQL для анализа данных"
-16%
Базы данных Сетевой инженер AWS для разработчиков Cloud Solution Architecture Разработчик голосовых ассистентов и чат-ботов Внедрение и работа в DevSecOps Администратор Linux. Виртуализация и кластеризация Нереляционные базы данных Супер-практикум по использованию и настройке GIT IoT-разработчик Супер-интенсив «ELK»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Старый добрый ADO.NET

C#Deep8.05_Site.png

При проектировании корпоративного приложения возникает вопрос:

«Как правильно организовать систему работы с БД?»

В современных учебниках программирования рассматривается зачастую один вариант – ORM (EF, NHibernate и т.д.). И практически совсем не упоминается ADO.NET.

Но так ли однозначен выбор? Посмотрим...

Как показывает практика, удобнее использовать и сопровождать модульную систему (например, онлайн-систему отчётности), где отдельными модулями являются движок формирования интерфейса, движок получения данных, модули авторизации и аутентификации.

Кроме этого, удобно, когда каждая отчётная форма, график, диаграмма являются отдельными модулями и инкапсулируют в себе все свои метаописания. Формат XML (с определённой схемой XSD) хорошо подходит для этой цели. В нём для каждой отчётной формы определяются все SQL-запросы, выполняемые для заполнения формы, пользовательские параметры, формат данных, заголовки таблиц и прочее.

Для оперирования всей этой постоянно пополняющейся и изменяющейся системой метаописаний как раз и функционирует движок получения данных, основанный на нескольких классах ADO.NET: SqlConnection, SqlCommand, SqlDataReader.

Задача добавления новой отчётной формы сводится к формированию на основе XSD-схемы XML-файла и размещения его в определённой папке веб-сервера. С задачей справится любой технический специалист. При этом не нужно задействовать программистов, тестировщиков, что было бы необходимо при создании отчётной формы, используя напрямую концепцию ORM.

Есть ещё один не менее популярный путь – вынесение логики получения и обработки данных на уровень сервера БД (хранимые процедуры). У этих двух подходов есть свои плюсы и минусы.

Плюсы первого: удобство работы с файловой системой, работы с версионностью. Второго – скорость выполнения и разгрузка сервера приложений. Однозначно есть плюсы работы и с ORM: функциональность, скорость разработки, интуитивно понятный разработчику синтаксис, более оптимизированная работа с БД.

Что же лучше? Поделитесь своим мнением в комментариях!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🎁 Максимальная скидка!
Черная пятница уже в OTUS! Скидка -25% на всё!