Стратегический совет: обновление дизайна веб-приложения - PullRequest
0 голосов
/ 29 октября 2008

У меня есть веб-сайт ASP.NET, посвященный отчетности по статистике расширения УАТС. Он включает в себя множество страниц отчета, причем HTML создается почти исключительно с помощью выделенного кода (задает свойство Text элемента управления Label вместо использования Response.Write), используя непараметрические строковые литеральные SQL-запросы, которые заполняются параметрами Reference DataTable.

Страницы обслуживания, по крайней мере, содержат DataGrids и подробные формы, но используют один и тот же DAL, о чем можно сказать, что он поддерживает несколько серверов БД, причем подклассы переопределяют эти методы доступа своими собственными строковыми литеральными запросами. .

Что мне нужно рассмотреть, чтобы навести порядок? Я уже принял почти очевидное решение использовать стороннее решение для создания отчетов и перенести запросы в хранимые процедуры на их соответствующие языки БД, сузив разнообразие различных классов DAL и разделив CSS на общие файлы, как много. это очень скрыто в файлах C #!

Ответы [ 2 ]

1 голос
/ 29 октября 2008

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

Для вашего графического интерфейса похоже, что вы на правильном пути, используя элементы управления ASP.NET вместо того, чтобы просто передавать свои данные пользователю. Тем не менее, вы можете рассмотреть вопрос об объективизации областей страницы. Например, один из моих любимых приемов - открывать полупрозрачные «всплывающие» панели, когда требуется ввод данных пользователем, или что-то вроде информационной панели при отображении короткого сообщения.

Рассмотрим AJAX и AJAX Control Toolkit. Это легко реализовать (особенно в случае переписывания) и обеспечивает большую гибкость. В частности, я обнаружил, что Аккордеоны - иногда даже вложенные в другие Аккордеоны - превосходны в организации переизбытка информации.

Редактировать:

Обратите внимание, что если бы вы использовали AJAX, вы в принципе даже не могли бы подумать об использовании response.write больше.

Поскольку на экране слишком много контента, помните, что у панелей есть свойство "Полоса прокрутки", а в DIV нет больших изменений.

Кроме того, я склонен разделять свои файлы кода по пространству имен; но популярная тенденция состоит в том, чтобы сделать это Классом. Это лучший вариант, если у вас много Разработчиков или если несколько классов в пространстве имен будут извлечены или одновременно изменены разными людьми.

0 голосов
/ 29 октября 2008

Я хотел бы рассмотреть возможность отказа от любого написанного на заказ DAL и использовать один из:

Вы можете даже полностью сбросить звездочек.

Если вы решитесь, вы можете попробовать редизайн, используя Microsoft MVC реализация.

Какой бы подход вы ни использовали, убедитесь, что вы пишете модульные тесты до рефакторинга какого-либо кода, проверьте, пройдены ли тесты до и после рефакторинга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...