H
Holy Python
@holy_python577 подп.
2.8Kпросмотров
12 октября 2022 г.
Score: 3.0K
#ошибки Введение Сегодня мы поговорим о минусах и вреде такого известного фреймворка как Django. Немного уточнений: 1. Этот пост был сделан для того чтобы вы ознакомились с минусами данного фреймворка, я не заставляю вас не использовать его. 2. С данным фреймворком ознакомится в любом случае придется, так как бизнес все ещё его использует, однако предлагать ее внедрение в новый проект - плохая идея. 3. Если начать с джанги и не смотреть в сторону других фреймворков, будет складываться ощущение, что в ней все сделано правильно. Проблемы архитектуры При использования данного фреймворка, вы привязаны к одной архитектуре, у которой есть ряд проблем, о которых я расскажу ниже. 1. Нарушены многие принципы написания кода и архитектуры(SOLID, CCP, принцип ацикличности зависимостей) 2. Используются некоторые антипаттерны(например: глобальные переменные, хранение настроек ввиде большого количества переменных в одном файле, подробнее о таких антипаттернах в: https://t.me/holy_python/46) 3. Сильная связность компонентов, отсутствие гибкости, зависимость от преждевременных решений. При замене какого-либо решения используемого Django, сломаются другие компоненты. Пример: Если мы поменяем Django ORM на SQLAlchemy, то сломается Django Admin. Проблемы ORM Django ORM, содержит массу серьёзных проблем, которые усложняют разработку. Отсутствует: 1. Иерархические и рекурсивные запросы в SQL(CTE) 2. Возможность кастомизации group by 3. Виртуальные ключи 4. Возможность разделения таблиц на группы. 5. Виртуальные таблицы 6. Триггеры(особые разновидности хранимых процедур, которые автоматически выполняются при возникновении события на сервере базы данных) 7. Функции 8. Поддержка only по умолчанию 9. Асинхронность для БД(пытаются добавить ввиде костылей в 4.x) Другие проблемы: 1. Используется спорный паттерн ActiveRecord. Ведёт к нарушению принципа SRP, сильно связан с бизнес логикой. Если вы захотите использовать другую абстракцию для хранения данных придётся проводить рефакторинг. Заключение В данном посте, я постарался отметить основные минусы данного фреймворка. Пользоваться ли им или нет - решать вам. P. S. Если вы знаете другие значительные минусы Django добро пожаловать в комментарии. Дополнительные материалы https://www.djangoproject.com https://habr.com/ru/post/198450 https://t.me/rudepython/168523
2.8K
просмотров
2348
символов
Нет
эмодзи
Нет
медиа

Другие посты @holy_python

Все посты канала →
#ошибки Введение Сегодня мы поговорим о минусах и вреде тако — @holy_python | PostSniper