Какова именно структура проекта MVC? [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Какова именно структура проекта MVC? [закрыто]

Сообщение Anonymous »

Код: Выделить всё

MyExamProject
│
├── MyExamProject.sln
│
└── MyExamProject
│
├── Areas
│   └── Admin
│       ├── Controllers
│       │   ├── DashboardController.cs
│       │   ├── ProductController.cs
│       │   └── CategoryController.cs
│       │
│       ├── ViewModels
│       │   ├── Product
│       │   │   ├── ProductCreateVM.cs
│       │   │   └── ProductEditVM.cs
│       │   └── Category
│       │       ├── CategoryCreateVM.cs
│       │       └── CategoryEditVM.cs
│       │
│       └── Views
│           ├── Shared
│           │   └── _AdminLayout.cshtml
│           │
│           ├── Dashboard
│           │   └── Index.cshtml
│           │
│           ├── Product
│           │   ├── Index.cshtml
│           │   ├── Create.cshtml
│           │   ├── Edit.cshtml
│           │   └── Delete.cshtml
│           │
│           └── Category
│               ├── Index.cshtml
│               ├── Create.cshtml
│               ├── Edit.cshtml
│               └── Delete.cshtml
│
├── Controllers
│   ├── HomeController.cs
│   └── AccountController.cs
│
├── Services
│   ├── Interfaces
│   │   ├── IProductService.cs
│   │   ├── ICategoryService.cs
│   │   └── IUserService.cs
│   │
│   └── Implementations
│       ├── ProductService.cs
│       ├── CategoryService.cs
│       └── UserService.cs
│
├── ViewComponents
│   ├── HeaderViewComponent.cs
│   ├── NavbarViewComponent.cs
│   ├── FooterViewComponent.cs
│   └── AdminSidebarViewComponent.cs
│
├── Models
│   ├── Base
│   │   └── BaseEntity.cs
│   │
│   ├── Product.cs
│   ├── Category.cs
│   └── AppUser.cs
│
├── ViewModels
│   ├── Account
│   │   ├── LoginVM.cs
│   │   └── RegisterVM.cs
│   │
│   └── Home
│       └── HomeIndexVM.cs
│
├── Data
│   └── AppDbContext.cs
│
├── Views
│   ├── Shared
│   │   ├── _Layout.cshtml
│   │   ├── _ValidationScriptsPartial.cshtml
│   │   ├── Error.cshtml
│   │   └── Components
│   │       ├── Header
│   │       │   └── Default.cshtml
│   │       ├── Navbar
│   │       │   └── Default.cshtml
│   │       ├── Footer
│   │       │   └── Default.cshtml
│   │       └── AdminSidebar
│   │           └── Default.cshtml
│   │
│   ├── Home
│   │   └── Index.cshtml
│   │
│   └── Account
│       ├── Login.cshtml
│       └── Register.cshtml
│
├── wwwroot
│   ├── css
│   ├── js
│   ├── images
│   └── fonts
│
├── Migrations
│
├── appsettings.json
├── Program.cs
└── MyExamProject.csproj
Я изучаю ASP.NET MVC и хочу понять правильную структуру проекта. Я вижу много папок и файлов, но не уверен, за что отвечает каждая часть.
Вот как я понимаю базовую структуру MVC. Поправьте меня, если что-то не так или чего-то не хватает.
Контроллеры
  • Содержит классы контроллеров
  • Обрабатывает HTTP-запросы
  • Получает данные из моделей
  • Отправляет данные в представления
Модели
  • Содержит модели данных и бизнес-логику
  • Представляет таблицы базы данных или объекты домена
  • Используется для передачи данных между контроллером и представлением
Представления
  • Содержит файлы .cshtml
  • Отвечает только за пользовательский интерфейс
  • Отображает данные, полученные от Контроллера
wwwroot
  • Содержит статические файлы, такие как CSS, JavaScript, изображения.
  • Доступ непосредственно из браузера.
Program.cs / Startup.cs
  • Конфигурация приложения
  • Настройка промежуточного программного обеспечения
  • Конфигурация маршрутизации
App_Data (необязательно)
  • Используется для файлов локальной базы данных или хранилища данных
Вопросы:
  • Правильна ли эта структура для чистого проекта MVC?
  • Где мне следует разместить сервисы и бизнес-логику?
  • Следует ли мне создавать отдельные папки, такие как Services, Repositories или DTO?
  • Какова наилучшая практика для крупномасштабного MVC проекты?
Заранее благодарим за любые объяснения или советы по передовому опыту.

Подробнее здесь: https://stackoverflow.com/questions/798 ... cture-like
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»