MVC Development Syllabus
MVC Development Syllabus
Learning Path
Course objectives
At the completion of this course, attendees will be able to;
Pre-requisites
Anyone who wants to learn ASP.NET MVC development should have a basic knowledge of C# and HTML.
Tools/IDE
Visual Studio 2015 or higher, SQL Server 2012 or Higher, LINQ Pad 5
Course Curriculum
Module 1
Introduction
• Introduction to ASP.NET MVC
• ASP.NET MVC vs. ASP.NET Web Form
• Advantages of ASP.NET MVC
Visual Studio Project Templates
• Understanding Visual Studio ASP.NET MVC Templates
• Creating an ASP.NET MVC project
• Understanding ASP.NET MVC project folder structure
• Understanding configuration files
Model, View, Controller & Actions
• Understanding Model, View and Controller
• Types of Views
• Creating Controller
• Understanding Actions
• Actions and Non-Actions Methods
• Understanding Action Results
• Communication between Controller and View
Razor View Engine
• Understanding Razor View Engine
• Razor View Engine vs. Web Form Engine
• Razor Syntax
• Razor Statements, Loops etc.
Routes & URLs
• Introduction to Routing
• Defining Routes
• Attribute Routing
• Need of attributes routing
2
Page
Module 2
Helpers
• Understanding Html Helpers
• Types of Html Helpers
• Built-In Html Helpers
o Standard Helpers
o Strongly Typed Helpers
o Templated Helpers
• Inline Helpers
• Custom Helpers
• Url helpers
Server-side Data Receiving Ways
• Action Parameters
• View Models/Objects
• FormCollection
Partial Views
• Static Partial View
• Dynamic Partial View
Module 3
ViewModel & Validation
• Creating ViewModel
• Understanding ASP.NET MVC Validation
• Need of Server Side and Client-Side Validation
• Validation with Data Annotation
Custom Validation
• Custom Client-side Validation
• Custom Server-side validation
Data Passing Techniques
• ViewData
• ViewBag
• TempData
• Session
• Query String
• Cookies
Assessment #1
• Mock-up test
• Assignment
3
Page
Module 4 (Self-Paced)
LINQ
• Understanding LINQ
• Flavors of LINQ
• Advantages of LINQ
• Query Based Syntax and Method Based Syntax
• Deferred Execution vs. Immediate Execution
• Var Type vs. Generics
• Anonymous Type
• SQL Joins with LINQ
• Deferred/Lazy Loading vs. Eager Loading
LINQPad
• What is LINQPad
• Configuring LINQPad
• Querying SQL Server database using LINQPad
• Querying DAL layer DLL using LINQPad
Module 5
Entity Framework
• What is ORM
• ORMs used with .NET
• Understanding Entity Framework
• Advantages of Entity Framework
Data Modeling Approaches
• Entity Framework Data Modelling Approaches
• Choosing DB First, Model First or Code First
Code First Modeling
• Defining Mapping using Data Annotation
• Implementing CRUD Operations
• Defining Mapping using Fluent API
Database Migration, DB Procedures and Functions
• Entity Framework Code First Migrations
• Updating Database when the Model Changes
• Calling Stored Procedures and functions
• Code First with existing Database
Database First Modeling
• Creating Model from Database
• CRUD Operations
• Updating Model when the Database Changes
• Changing and Updating Mapping
• Calling Stored Procedures
4
Page
Model First Modeling
• Creating Model
• Creating Database from Model
Module 6
Repository Design Pattern and Unit of Work Design Patterns
• Understanding Repository and UOW Design Pattern
• Need of Repository Design Pattern
• Need to Unit of Work Design Pattern
• Implementing Repository and UOW Design Pattern
Dependency Injection
• Understanding Dependency Injection
• Need of Dependency Injection
• Implementing DI
WebGrid: Listing, Paging and Sorting (Self-Paced)
• Creating Custom Paging Method
• Using WebGrid for Listing, Paging and Sorting
• Ajax WebGrid
Assessment #2
• Mock-up test
• Assignment
Module 7 (Self-Paced)
Unit Testing
• What is Unit Testing
• Unit Testing - What, Why & When
• Advantages of Unit Testing
• Disadvantage of Unit Testing
• .NET Unit Testing Frameworks
MS Test and xUnit
• Understanding MS Test Framework
• Understanding xUnit Test Framework
• Writing, Debugging and Running Unit Tests Cases
MOQ
• Understanding Mocking
• Advantage of Mocking
• Installing and Configuring Moq Framework
• Writing, Debugging and Running Unit Tests Cases
5
Page
Module 8 (Project: Online Shopping Site Development)
Discussing Project Architecture
• Understanding Application layers
• Discussing Application Entities Properties
• Discussing Relationship among Application Entities
Developing Project
• Designing Application Architecture
• Developing DAL layer using Entity Framework Code First
Implementing Design Pattern
• Developing BAL layer
• Repository Design Pattern
• User Login Process
• Dependency Injection
Module Development
• Creating Admin Module using Area
• Creating User Module using Area
Forms Authentication
• Understanding Forms Authentication
• Customizing principal
• Implementing custom Forms Authentication
ASP.NET MVC Pipeline and Filters
• ASP.NET MVC Pipeline
• ASP.NET MVC Filters
• Extending ASP.NET MVC Filters
• Configuring ASP.NET MVC Filters
Assessment #3
• Mock-up test
• Assignment
In less than 10 minutes, with our skill assessments having 20 questions, you can identify your knowledge gaps and
strengths. Your results tell you, how much you know, and what you need to learn. Here at Dot Net Tricks, you can learn
the essential skills to be an exceptional leader and an outstanding professional.
Dot Net Tricks assignments help the professionals to work on real-world projects and to get an edge in their careers and
make their lives better. This training program includes 4 mock-up tests and 4 assignments.
Mockup-Tests objectives
At the completion of mockup-tests, attendees will be able to;
Assignments objectives
At the completion of assignments, attendees will be able to;
Project Details
Description
You will learn how to develop an online shopping site. The site will show the list of products to User/Customer. A user can
purchase products and see the previous order history. Here, admin will be responsible for adding products, categories and
approving customer order. The application will use three-tier architecture with extensible approach. We would be using
payment gateway to do online payment and finally publishing it on IIS.
Project Architecture
The primary goal of this architecture is to share as much code as possible across the web application and further reuse
existing code for mobile apps development if necessary. This architecture will help you to develop web application with
the recommended design patterns and practices.
8
Page
What you will learn through project?
At the completion of project, attendees will be able to;
10
Page