Wie genau ist die MVC-Projektstruktur [geschlossen]C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie genau ist die MVC-Projektstruktur [geschlossen]

Post by Anonymous »

Code: Select all

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
Ich lerne ASP.NET MVC und möchte die richtige Projektstruktur verstehen. Ich sehe viele Ordner und Dateien, bin mir aber nicht sicher, wofür die einzelnen Teile verantwortlich sind.
So verstehe ich die grundlegende MVC-Struktur. Bitte korrigieren Sie mich, wenn etwas falsch ist oder fehlt.
Controller
  • Enthält Controller-Klassen
  • Verarbeitet HTTP-Anfragen
  • Ruft Daten von Modellen ab
  • Sendet Daten an Ansichten
Modelle
  • Enthält Datenmodelle und Geschäftslogik
  • Stellt Datenbanktabellen oder Domänenobjekte dar
  • Wird zum Übertragen von Daten zwischen Controller und Ansicht verwendet
Ansichten
  • Enthält .cshtml-Dateien
  • Nur für die Benutzeroberfläche verantwortlich
  • Zeigt vom Controller empfangene Daten an
wwwroot
  • Enthält statische Dateien wie CSS, JavaScript, Bilder
  • Direkt über den Browser zugänglich
Program.cs / Startup.cs
  • Anwendungskonfiguration
  • Middleware Setup
  • Routing-Konfiguration
App_Data (optional)
  • Wird für lokale Datenbankdateien oder Datenspeicherung verwendet
Fragen:
  • Ist diese Struktur korrekt? für ein sauberes MVC-Projekt?
  • Wo soll ich Dienste und Geschäftslogik platzieren?
  • Soll ich separate Ordner wie Dienste, Repositorys oder DTOs erstellen?
  • Was ist die beste Vorgehensweise für große MVC-Projekte?
Vielen Dank im Voraus für jede Erklärung oder Best-Practice-Ratschlag.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post