Буду признателен за мысли людей о дилемме, с которой я боролся с тех пор, как вышел ASP.NET.
В классическом ASP уровни кода были минимальными. Страница ASP содержала HTML и скрипт вместе взятые. Компоненты COM содержали бизнес-логику и инфраструктуру DAO . Сами страницы ASP были грязными, но все было в одном месте.
Кодовый компонент ASP.NET нейтрализует код, это нормально. Элементы управления позволяют нам быть более объектно-ориентированными на уровне представления. Эти вещи хороши.
Вот моя проблема. Многие проекты, в которые я заходил, являются корпоративными веб-приложениями, но не такими уж сложными, скажем, около 10 веб-страниц / пользовательских интерфейсов, много взаимодействий с базами данных и т. Д. Раньше это было очень легко понять. Теперь я часто сталкиваюсь с 5-10 слоями кода для создания довольно простой веб-страницы. К ним могут относиться ASP, программный код, управляющие классы, DTO классы, объекты ORM, а затем еще несколько других, которые просто добавили его в ад.
В дополнение к 5-10 слоям для доступа к базе данных существует множество пользовательских объектов, созданных только для хранения обычных данных, вместо использования POCO (простые старые объекты CLR), например, коллекции. , Чтобы понять эти объекты, часто приходится прослеживать через иерархию наследования, включающую 3 или более уровней объектов и интерфейсов.
Вот суть: ранее я посмотрел одну страницу ASP и сказал, что 1 или 2 небольших объекта, несколько запросов SQL, выполнили свою работу и были довольно просты в обслуживании и понимании.
Теперь для одной и той же страницы может быть буквально 50 или более объектов, распределенных по сотням объектов в пользовательском пространстве имен.
Я спрашиваю вас, товарищи-ремесленники, это прогресс? Некоторые люди идут немного за борт с их забавными игрушками нового дизайна? Есть ли счастливая среда? Есть ли способ эффективно использовать шаблоны проектирования, не создавая так много объектов, что он становится хуже кода спагетти, чем старый процедурный парадигна?
Пожалуйста, поделитесь своими мыслями.