MVC 4.0 آخرین تکنولوژی مایکروسافت در زمینه تولید صفحات وب می باشد این تکنولوژی که در حال حاضر نسخه 4 آن منتشر شده است و دارای مزیتهای زیر نسبت به تکنولوژی Web Forms می باشد.در وب فرمها ، برنامه نویس کنترل زیادی روی خروجی HTML تولید شده توسط ASP.NET ندارد و اگر شما سورس کد صفحه را ببینید ، شاهد کد HTML شلوغی هستید که مشکل می توانید از آن سر در بیاورید
MVC به شکل شگفت انگیزی حجم کد نویسی را کاهش می دهد. در وب فرمها با رد و بدل شدن ViewState در هنگام ارسال به سرور ، حجم آن زیاد می شود در حالی که در MVC اثری از ViewState نمی باشد. ایجاد واحد تست (Unit Test) در وب فرمها مشکل است درحالی که MVC پروسه Unit testing را بسیار راحت می کند.(طراحی و توسعه آزمون محور). MVC کار گروهی همزمان را برای تیم طراح و برنامه نویس آسان می کند همچنین توسعه نرم افزار را بسیار راحت می کند. در MVC شما می توانید به جای فراخوانی کل یک صفحه ، یک متد را فراخوانی کنید . در MVC بخشی از کدهای اصلی آن "باز" است و می توانید تحت استاندارد نرم افزارهای متن باز ، آن را ویرایش کنید. MVC امکان ساخت برنامه هایی با آدرس های با معنی و جستجو شدنی (قابل جستجو توسط موتورهای جستجوگر) را می دهد
پیشنیاز شرکت در این دوره
1. آشنایی و تجربه برنامه نویسی با #C
2. آشنایی و تجربه کار با ASP.net
Part 1 : Introduction to ASP.NET MVC
- The MVC Pattern
- Architecture
- Advantages and Disadvantages
Part 2 : Models (Part 1 - Model Customizations)
- Models and the Entity Framework
- Defining the Model
- Entity Splitting
- Table Splitting
- Conditional Mapping
- Self-Referencing Associations
- Table per Hierarchy (TPH) Inheritance
- Table per Type (TPT) Inheritance
- POCO in the Entity Framework
- POCO Proxies
- Deferred/Lazy Loading With POCO
- Change Tracking with POCO
- POCO Template
- Understanding Code First
- Data Annotations
- Fluent API
- Repository Pattern
- Unit of Work Pattern
- NHibernate with an ASP.NET MVC
Part 3 : Routing
- Intoduction to Routing
- Custom Segment Variables
- Custom Route Constraints
- Custom Route Handler
Part 4 : Controllers & Action Methods.
- Controllers Overview
- Routes and Controllers
- Understanding IController
- Understanding Controller Class
- Understanding Controller Factory
- Custom Controller Factory
- Understanding Action Invoker
- Custom Action Invoker
- Action Methods
- Action Method Parameters
- Action Method Support REST Services
- Understanding ActionResult
- Custom Action Result
- Using an Asynchronous Controller (Overview of Observer Pattern)
- Managing Session State in a Controller
Part 5 : Filters
- Authorization
- Error Handling
- Output Caching (Review Caching in Asp.net Data Caching - Cache Dependencies)
- Requiring HTTPS
- Custom Filters
Part 6 : Views and UI Rendering
- UnderStanding Views
- Custom View Engine
- Razor View Engine
- Organizing Razor Templates
- Razor API
- Creating Reusable ASP.NET MVC Views
- Strongly-Typed Views
- Using a ViewModel
- HTML Helpers (Inline - External - Built-in)
- Sections
- Partial Views
- Introduction to Spark View Engine
Part 7 : Models (Part 2)
- Model Metadata
- Model Binding
Part 8 : MVC Scaffolding
- Instaling scaffolding Package
- Understanding Scaffolders
- Customizing View Templates
- Customizing Controller Template
- Understanding How To Work With T4 Templates
- T4Scaffolding Scaffolders
Part 9 : Validation
- Data Annotations
- Self-validating
- Custom Validation
- Client validation
- Remote validation
Part 10 : AJAX
- Managing Scripts
- AJAX Helpers
- Ajax Grid Scaffolding
- AJAX Callbacks
- Working With JSON
Part 11 : Security
- Understanding Cross-Site Scripting (XSS) Attacks
- The AntiXSS Library
- Session Hijacking
- Understanding Cross-Site Request Forgery (CSRF) Attacks
- Preventing CSRF With Ajax
- SQL Injection Attacks
Part 12 : Dependency Injection
- Understanding Inversion of Control (IOC)
- Introduction Service Locator Pattern
- Understanding DI
- Resolving Dependencies
- Undestanding IDependencyResolver
- Dependency Injection to Controller
- Dependency Injection to Razor Views
- Mvc Dependency Injection With Castle Windsor
- Mvc Dependency Injection With StructureMap
- Mvc Dependency Injection With Ninject
Part 13 : Testing
- Test-Driven Development (TDD)
- Designing for Testability
- Creating Unit Tests
- Undestanding Mock
- Using Moq
- Testing Controllers
- Testing Razor Views
- Testing Routes
- Testing Validators
Part 14 : Deployment
- Server Requirements
- Configuration Options
Part 15 : MVC 4 New Features
- Upgrading an ASP.NET MVC 3 Project to ASP.NET MVC 4
- Mobile Project Template
- Display Modes
- Task Support for Asynchronous Controllers
Part 16 : ASP.NET MVC samples Overview
At the End of This Course You will Make Web Application With the Following Features :
1.Enables the full control over the rendered HTML.
2.Provides clean separation of concerns
3.Enables Test Driven Development (TDD).
4.More easy client-side integration (Javascript)
5.Following the design of stateless nature of the web.
6.RESTful urls that enables SEO.(makes easily REST)
7.No ViewState and PostBack events
8.Extensible and WEB 2.0 Enabled