Cover Page....2
Title Page....3
Copyright Page....4
Dedication Page....5
About the Author....6
About the Reviewers....7
Acknowledgement....8
Preface....9
Errata....14
Table of Contents....18
1. Introduction to .NET....27
Introduction....27
Structure....27
Objectives....27
Tools and environment setup....27
Installing Visual Studio....28
Installing Visual Studio Code....29
Introduction to Visual Studio....30
Introduction to Visual Studio Code....32
Understanding multi-platform concepts....35
Overview of principal project types in .NET....36
Conclusion....51
Points to remember....52
Multiple-choice questions....52
Answers....52
Questions....53
2. Status of the .NET Platform....54
Introduction....54
Structure....54
Objectives....54
History of the .NET platform....54
The .NET Core versions....58
From .NET Core to .NET 7....67
Conclusion....69
Points to remember....69
Multiple choice questions....69
Answers....70
Questions....70
Key terms....70
3. Cross-platform Applications....72
Introduction....72
Structure....72
Objectives....72
Asp.Net Core applications for Linux....72
Self-contained executables....80
Conclusion....83
Points to remember....84
Multiple choice questions....84
Answers....85
Questions....85
Key terms....85
4. The Object-Oriented Programming....86
Introduction....86
Structure....86
Objectives....87
Classes, constructors, and methods....87
Encapsulation....91
Inheritance....91
Reusability....92
Polymorphism....93
Partial class....95
Constructor....98
Static classes and methods....101
Structs....103
Interfaces....105
SOLID Principles....108
Conclusion....110
Points to remember....110
Multiple Choice Questions....111
Answers....111
Questions....111
5. Interfaces and Inheritance in C#....113
Introduction....113
Structure....113
Objectives....113
Implementation of interfaces....114
Multiple interfaces....119
Testability of interfaces....122
Dependency injection....124
Inheritance in C# language....127
Conclusion....131
Points to Remember....132
Multiple Choice Questions....132
Answers....133
Questions....133
6. Basic Concepts of Design Patterns....135
Introduction....135
Structure....135
Objectives....135
General concepts of design patterns....136
Singleton pattern....136
Façade pattern....140
Adapter pattern....143
Observer pattern....145
Builder pattern....150
Factory pattern....152
Conclusion....154
Points to remember....154
Multiple Choice Questions....155
Answers....155
Questions....155
7. Operators, Loops, and Iterations in C#....157
Introduction....157
Structure....157
Objectives....157
Object types in C#....157
Loops, operation, and iterations....165
While statement....166
Do-while statement....166
For loop....167
Foreach statement....169
Operators....170
Arithmetic operators....170
Switch case statement....179
Points to remember....182
Conclusion....182
Multiple choice questions....182
Answers....183
Questions....183
8. Error Handling and Exceptions in C#....185
Introduction....185
Structure....185
Objectives....185
The try-catch blocks....185
Most common exceptions in C#....190
Error handling strategy options....192
Conclusion....194
Points to remember....194
Multiple choice questions....194
Answers....195
Questions....195
9. Using and Understanding LINQ....197
Introduction....197
Structure....197
Objectives....197
LINQ fundamentals....197
Query expressions....198
Points to remember....208
Conclusion....208
Multiple choice questions....209
Answers....210
Questions....210
10. Unit Tests....211
Introduction....211
Structure....211
Objectives....211
Unit Test Concept....212
xUnit tool for .NET....213
Test-driven development (TDD)....222
Points to Remember....225
Conclusion....225
Multiple Choice Questions....226
Answers....226
Questions....226
11. New Features in C# 8.0 and 9.0....228
Introduction....228
Structure....228
Objectives....228
New features in C# 8.0....228
New features in C# 9.0....237
Points to remember....242
Conclusion....243
Multiple Choice Questions....243
Answers....244
Questions....244
12. Building .NET Applications for Linux....245
Introduction....245
Structure....245
Objectives....245
Advantages of multi-platform concepts....245
Market opportunities....247
Maintainability....247
Hiring process....247
Security....248
System integrations....248
Fewer costs....248
.NET projects available for Linux....249
Developing .NET applications with WSL 2....252
Conclusion....258
Points to remember....258
Multiple choice questions....259
Answers....259
Questions....259
Key terms....260
13. Asp.Net Core Web API....261
Introduction....261
Structure....261
Objectives....261
Asp.Net Core Web API project....261
HTTP Verbs....262
Creating a Web API project....263
Minimal APIs....283
Conclusion....287
Points to remember....288
Multiple-choice questions....288
Answers....288
Questions....288
14. Blazor, the Single Page Application of .NET....290
Introduction....290
Structure....290
Objectives....290
Concepts of single-page applications....291
Difference between Blazor Server and Blazor Web Assembly....294
Razor components and data binding....309
JavaScript Interop....315
Conclusion....317
Points to remember....317
Multiple-choice questions....318
Answers....318
Questions....318
15. Desktop, Console, and Mobile Applications....320
Introduction....320
Structure....320
Objectives....320
Native application development....321
Windows Forms....322
Windows Presentation Foundation (WPF)....328
Universal Windows Platform (UWP)....335
Mobile development....341
Console applications....348
Conclusion....349
Points to remember....350
Multiple-choice questions....350
Answers....351
Questions....351
16. Azure Integration Services....352
Introduction....352
Structure....352
Objectives....352
Azure storage accounts....353
Creating an Azure storage account....353
Azure functions....364
Conclusion....379
Points to remember....380
Multiple-choice questions....380
Answers....381
Questions....381
17. Authentication in Asp.Net Core....382
Introduction....382
Structure....382
Objectives....382
Authentication concepts....383
Authentication and authorization for Web APIs....383
Basic authentication....386
JWT authentication....389
Conclusion....397
Points to remember....398
Multiple-choice questions....398
Answers....399
Questions....399
18. Introduction to Entity Framework Core....400
Introduction....400
Structure....400
Objectives....400
Object Relational Mapping (ORM)....401
Entity Framework Core....403
LINQ....420
Conclusion....422
Points to remember....422
Multiple-choice questions....422
Answers....423
Questions....423
19. Good Practices for .NET Applications....425
Introduction....425
Structure....425
Objectives....425
Dependency injection....426
Logging....433
Performance....435
Exception handling....437
Conclusion....437
Points to remember....437
Multiple-choice questions....437
Answers....438
Questions....438
20. Architecture Concepts for .NET Applications....439
Introduction....439
Structure....439
Objectives....440
Architecture practices for web applications....440
Migration to the cloud....440
Single Page Applications (SPAs)....441
Cloud applications....442
Azure App Service and containers....442
Serverless compute....443
Azure Kubernetes Service (AKS)....443
DevOps....443
Introduction to microservices....444
Design pattern concepts....446
Conclusion....447
Points to remember....448
Questions....448
21. Creating an Enterprise Application in .NET....449
Introduction....449
Structure....449
Objectives....449
Application requirements....450
Creating the application....451
Creating the models....454
Entity Framework configuration....457
Creating the Business Logic layer....463
Creating the Controllers....469
Creating the front-end....475
Container type components....477
Country components....484
Port components....491
Customer components....498
Booking components....504
Conclusion....512
Points to remember....512
Questions....513
Index....514
Building enterprise applications is a complex task that requires a comprehensive understanding of the latest technologies and programming languages. C# and .NET are powerful tools that have become increasingly popular in enterprise development.This book will help you build enterprise-grade applications with C# and .NET. It covers a wide range of topics, including the basics of C# programming, advanced concepts such as object-oriented programming, and the use of the .NET platform for building robust and scalable applications. You will also explore the best practices and design patterns for building enterprise applications.By the end of the book, you will be able to create a full enterprise application by applying all the given concepts across the entire book, including TDD, database access, security, authentication, modern architecture, and the new features of C#.
This book is for developers who are new to C# and .NET and want to build enterprise applications. This is also for experienced developers who want to expand their knowledge of these technologies and improve their skills in building robust and reliable applications.