Существуют ли соглашения об именах для структур каталогов веб-приложений ASP.NET?

StackOverflow https://stackoverflow.com/questions/131868

Вопрос

В настоящее время я разрабатываю сайт, содержащий около семи частичных классов, несколько значков, три страницы и папку App_Themes.Мне было интересно узнать, существует ли стандартная структура каталогов для чего-то большего, чем небольшой проект?

Например, я хочу хранить классы в отдельных папках, изображения в отдельных папках и т. д.Моя текущая структура каталогов выглядит следующим образом (не точно, это по памяти):

  • (корневой) содержит код программной части и формы
  • /Данные приложения
  • /App_Themes
  • /Бин
  • /Изображений
  • /Models — я украл имя из MVC.Это звучало более уместно, чем «занятия».
  • /FusionCharts — библиотека флэш-графиков.

Я немного поигрался с MVC, и структура каталогов выглядела неплохо, однако я использую ASP.NET Ajax.

Итак, я думаю, вопрос в том, есть ли способ сделать эту структуру каталогов более упорядоченной, по вашему мнению?Пожалуйста, ответьте также, почему вы приняли такое решение :).

Это было полезно?

Решение

Мне нравится вдохновляться стандартами Microsoft, поскольку мы используем технологию Microsoft.Плюс несколько хороший стандарт лучше, чем отсутствие стандарта, особенно если вы работаете в большой команде.

App_Code, конечно, является стандартным, поскольку у него есть функция в ASP.NET, а не просто лучшая практика.

Мне нравится структура стандартного проекта MVC:

  • Содержание -- Содержит подкаталоги с изображениями, Css, Javascript.
  • Контроллеры -- Возможно, нет данных в веб-формах
  • Взгляды -- Также, возможно, излишество в WebForms

Папка «Содержимое», возможно, является ключевым моментом, поскольку это наименьший общий знаменатель для проектов ASP.NET.Итак, если вы работаете как с WebForms, так и с MVC, вы будете чувствовать себя как дома во всех проектах, если вы знаете, что ваши статические ресурсы находятся в этой папке.

Другие советы

Единственное «стандартное» имя, которое вам не хватает для ASP.NET, будет Код_приложения.

Используйте соглашение, которое имеет смысл для вас и людей, которые будут поддерживать код.Для этого не существует отраслевого стандарта, с которым я столкнулся за более чем 4 года разработки ASP.NET.

Я также следую той же структуре, о которой вы упомянули.Единственное дополнение, которое я сделал, — это отдельные папки для скриптов, CSS и ресурсов.Насколько я знаю, такого отраслевого стандарта не существует.

Мне нравится иметь папку «Содержимое», в которой я могу разместить папки Css, Js и Images.

Многие проекты веб-форм ASP.Net также будут иметь папку Controls для элементов управления ASCX.

Для стилизации CSS мы обычно используем папку стилей, images для содержимого изображений (вроде очевидного), js.

У вас может быть папка схем, App_Code для обработчиков ASHX и других типов кода приложения, а также папка MasterPages.

В проекте веб-форм вы можете увидеть некоторые автоматически создаваемые папки: Properties, App_Data, bin, obj, Packages и TestResults.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top