Skip to content

10. Interim Conclusion

Examples 01 through 28 have presented, one by one, all the concepts required by the case study:

Concept
Examples
In the case study
controllers, actions, routing, redirects
01 through 05
folder [Controllers]
services, dependency injection
06
[Program.cs]
Action model, binding, attribute validation
07 through 12
[Models/Forms.cs], [Web/Validation.cs]
Razor views, template, partial views, helpers
13 to 16
folder [Views], [Web/ViewPage.cs]
forms, validation, redraw
17 to 19
[Views/Persons/Form.cshtml], [Views/Shared/_PersonFields.cshtml]
POST / Redirect / GET, flash message (TempData)
20
[Web/Flash.cs], [Views/Shared/_Flash.cshtml]
Links and buttons, confirmation window
21
[Views/Shared/_Confirmation.cshtml], [wwwroot/js/app.js]
Internationalization
22
[i18n/*.json], [Web/Translator.cs], [Controllers/LanguageController.cs]
Data Scopes
23
[Web/ApplicationModel.cs] (singleton and scoped), cookies
middleware, filters, error pages
24
[Program.cs], [Web/HtmlExceptionFilter.cs], [Controllers/ErrorController.cs]
JWT, roles, CAPTCHA, rate limiting
25 to 27
folder [Auth], [Controllers/AuthController.cs]
Web / Business / DAO, EF Core, Transactions
28
files [Entities], [Data], [Repositories], [Business]

The case study combines them into a complete, realistic-sized application (approximately 75 files and 5,900 lines, including comments). It was written with the same care as the examples: each file begins with a comment explaining its role, and tricky sections are annotated in the code. Each folder also contains a file named [README.md] that lists its files. The document’s comments highlight what the examples did not show and refer to the examples for the rest.