
Implement layered architectures and backend patterns in C# while exploring cross cutting concerns, aspect oriented programming, and practical basics of validation, caching, performance, logging, transaction management, and authorization.
Create a Visual Studio solution named ABC with layered projects for Northwind entities, data access, business, and UI, plus a core framework, MVC web UI, Web API, and WCF service.
Implement a data access layer using an interface IProductDAL with concrete implementations for entity framework or hibernate, and apply dependency injection to decouple business logic from data access.
Implement a generic repository interface for data access, enabling create, read, update, and delete operations, applying dry principle, organized in data access folder with AI entity repository constrained by IEntity.
Implement an entity repository in the data access layer using a base repository pattern with EF, wiring IProduct and product methods (get list, add, update, delete) for scalable multi-entity support.
Create a generic base repository using entity framework, defining a base entity, generic constraints, and a context type, and implement add, delete, get, get list, and update operations.
Inherit the entity repository base in the data access layer for the product repository and configure Northwind context as a public DbContext with a products DbSet.
Map your product entity to the database using entity framework by creating a mappings folder, defining a product map class, and configuring primary key and column mappings.
Configure the Northwind context to use the created mappings by overriding OnModelCreating, add configurations with modelBuilder.configurations.Add, and set the database initializer to null.
Create a product service interface in the business layer and implement its methods (add, delete, get all, get all by category, update) via dependency injection from the data access layer.
Install and explore the northwind sample database in sql server to practice backend tasks. Copy, paste, and execute scripts, handle stored procedure errors, and refresh to verify the database appears.
Configure the connection string in the config for Northwind with LocalDB and integrated security, using System.Data.SqlClient; install Entity Framework via NuGet and run the product service to list products.
Implement an mvc web ui by wiring the database with a connection string, creating a product controller and view model, and applying dependency injection with an ioc container.
Set up a Ninject IoC container in the business layer by adding a dependency resolvers folder and a business module. Bind IProductService to ProductManager for dependency injection.
Implement an inversion of control enabled mvc architecture by creating a ninject-based controller factory, configuring a kernel with modules, and wiring the core, mvc, and infrastructure layers for dependency injection.
Implement Fluent Validation by creating a ProductValidator that inherits AbstractValidator<Product> and enforces name and category not empty, unit price greater than zero, and a must rule to start with a.
Explore building a cross-cutting validation tool in a C# backend, using fluent validation and a validator interface to enforce rules on entities.
Install PostSharp to enable aspect oriented programming, using the 2017 free version via NuGet, then begin writing a validation aspect in the core layer.
Apply aspect oriented programming with PostSharp to automatically run fluent validation at method entry, using a validator type to instantiate and validate the method's entity parameter.
Are you ready to reach upper levels of software development industry?
Do you know how to create application layers? You will learn how to implement an effective application with layers.
Do you know what AOP is and how to implement it? This course will teach you how to implement Validation, Caching, Performance, Logging, Transaction Management, Authorization
Do you know what Cross Cutting Concerns is for a project? You will learn what a cross cutting concern is and how to implement it.
Do you know how to configure a professional IoC container for your project? You will learn how to implement Ninject as an IoC Container.
During the course you will learn how to implement
Layered Architecture
Entity Framework
Repository Pattern
AOP using Postsharp
IoC using Ninject
Validation using Fluent Validation
Web API Implementation