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

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

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

  • (корень) содержит код и формы
  • /Данные приложения
  • /App_Themes
  • / Bin
  • /Изображений
  • / Модели - я украл имя у MVC. Это звучало более уместно, чем "классы"
  • /FusionCharts - библиотека флеш-графиков

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

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

5 ответов

Решение

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

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

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

  • Содержимое - содержит подкаталоги с изображениями, CSS, Javascript
  • Контроллеры - возможно, нет в WebForms
  • Представления - также может быть излишним в WebForms

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

Мне нравится иметь папку Content, в которую я могу поместить папки Css, Js и Images.

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

Единственное "стандартное" имя, которое вам не хватает для ASP.NET, будет App_Code.

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

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

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

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

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

Другие вопросы по тегам