NET Expert.

مباحث ویژه و پیشرفته در برنامه نویسی دات نت فریم ورک

NET Expert.

مباحث ویژه و پیشرفته در برنامه نویسی دات نت فریم ورک

معرفی کتاب مرجع کامل ASP.NET MVC 4

ترجمه و تالیف: بهروز راد
ناشر: پندار پارس
تعداد صفحات: 576



مطالعه قسمتی از کتاب...

در این کتاب می خوانید : 



بخش اول: معرفی ASP.NET MVC

فصل 1: ایده ی اصلی

تاریخچه‌ی مختصری از توسعه‌ی برنامه‌های مبتنی بر وب
  • · ASP.NET Web Forms
  • · مشکلات ASP.NET Web Forms چیست؟
جایگاه توسعه‌ی وب در زمان حال
  • · استانداردهای وب و REST
  • · Agile و توسعه‌ی تست محور
  • · Ruby on Rails
  • · Sinatra
  • · Node.js
مزایای اصلی ASP.NET MVC
  • · معماری MVC
  • · توسعه پذیری
  • · کنترل کامل بر HTML و HTTP
  • · تست پذیری
  • · سیستم مسیریابی قدرمند
  • · ساخته شده بر مبنای بهترین قسمت‌های ASP.NET
  • · API پیشرفته
  • · ASP.NET MVC، متن باز است
چه کسی باید از ASP.NET MVC استفاده کند؟
  • · مقایسه با ASP.NET Web Forms
  • · مهاجرت از ASP.NET Web Forms به ASP.NET MVC
  • · مقایسه با Ruby on Rails
  • · مقایسه با MonoRail
  • قابلیت‌های جدید در ASP.NET MVC 3 & 4
نتیجه ­گیری

فصل 2: آمادگی برای شروع

آماده­ سازی سیستم توسعه
  • · نصب Visual Studio 2010
  • · نصب ASP.NET MVC
  • · نصب ابزارهای اختیاری
آماده­ سازی Server
  • · نصب IIS
  • · نصب ابزارهای اضافه
  • · پیکربندی Web Deployment
منابع بیشتر برای یادگیری
نتیجه گیری

فصل 3: اولین پروژه‌ی ASP.NET MVC

ایجاد یک پروژه‌ی جدید 
ASP.NET MVC
  • · اضافه کردن اولین Controller
  • · آشنایی با Routeها
پردازش در صفحات وب
  • · ایجاد یک View
  • · اضافه کردن خروجی پویا
ایجاد یک پروژه‌ی ساده برای کار با داده‌ها
  • · آماده سازی
  • · طراحی مدل داده‌ها
  • · ارتباط بین متدهای Action
  • · ایجاد یک View نوع­دار
  • · مدیریت فرم‌ها
  • · افزودن تعیین اعتبار
  • · تکمیل پروژه
نتیجه­ گیری

فصل 4: معماری MVC

تاریخچه‌ی 
MVC

مفهوم الگوی 
MVC
  • · آشنایی با Domain Model
  • · پیاده­ سازی معماری MVC در ASP.NET
  • · مقایسه‌ی MVC با الگوهای دیگر
  • · آشنایی با الگوی Smart UI
متدولوژی Domain Driven Design
  • · مدل کردن یک Domain
  • · زبان یکپارچه
  • · Aggregate و Simplification
  • · ایجاد Repositoryها
ایجاد بخش‌های تفکیک شده
  • · استفاده از تزریق وابستگی (Dependency Injection)
  • · مثالی از تزریق وابستگی در ASP.NET MVC
  • · استفاده از Dependency Injection Container
شروعی برای آزمایش واحد خودکار
  • ·آشنایی با Unit Testing
  • · آشنایی با Integration Testing
نتیجه­ گیری

فصل 5: قابلیت‌های کلیدی زبان

قابلیت‌های کلیدی 
C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎
  • · استفاده از Automatic Properties
  • · استفاده از Object Initializer و Collection Initializer
  • · استفاده از Extension Methods
  • · استفاده از عبارت‌های Lambda
  • · استفاده از Type Inference
  • · استفاده از Anonymous Type
  • · استفاده از LINQ
آشنایی با سینتکس موتور Razor
  • · ایجاد پروژه
  • · بررسی یک View ساده در Razor
نتیجه­ گیری

فصل 6: ابزارهای مهم برای ASP.NET MVC

استفاده از 
Ninject
  • · ایجاد پروژه
  • · شروع کار با Ninject
  • · ایجاد زنجیره‌ای از وابستگی‌ها
  • · تعیین مقادیر Propertyها و پارامترها
  • · استفاده از Self-Binding
  • · برگشت نوع مشتق شده
  • · استفاده از شرط در معرفی کلاس‌ها
استفاده از Ninject در ASP.NET MVC

آزمایش واحد با 
Visual Studio
  • · ایجاد پروژه
  • · ایجاد آزمایش‌های واحد
  • · اجرای آزمایش‌های واحد و مواجه شدن با خطا
  • · پیاده­ سازی قابلیت
استفاده از Moq
  • · افزودن Moq به پروژه
  • · ایجاد یک Mock با Moq!
  • · آزمایش واحد با Moq
  • · تایید با Moq
نتیجه­ گیری
بخش دوم: بررسی کامل ASP.NET MVC

فصل 7: 
نمای کلی پروژه‌های 
ASP.NET MVC

کار با پروژه‌های 
ASP.NET MVC
  • · Controllerها در قالب‌های Internet Application و Intranet Application
  • · آشنایی با مفهوم قراردادها در ASP.NET MVC
دیباگ پروژه‌های ASP.NET MVC
  • · ایجاد پروژه
  • · اجرای دیباگر Visual Studio
  • · توقف Debugger در Breakpoint
  • · استفاده از قابلیت Edit and Continue
استفاده از تزریق وابستگی در کل پروژه

نتیجه­ گیری


فصل 8: URLها، Routing و Areaها

معرفی سیستم مسیریابی
  • · ایجاد پروژه‌ی مسیریابی
  • · آشنایی با URL Patterns
  • · ایجاد و معرفی یک Route ساده
  • · تعریف مقادیر پیش­فرض
  • · ایجاد URL Patternهای ثابت
  • · حق تقدم Routeها
  • · تعریف Segment Variableهای سفارشی
  • · تعریف Segment Variableهای اختیاری
  • · تعریف مسیرهای با طول متغیر
  • · اولویت­ بندی Controllerها به وسیله‌ی Namespaceها
  • · ایجاد قید برای Routeها
  • · رفتار Routeها با فایل‌های موجود بر روی فایل سیستم
  • · دور زدن سیستم مسیریابی
ایجاد آدرس‌های خروجی
  • · آماده­ سازی پروژه
  • · ایجاد آدرس‌های خروجی در Viewها
  • · ایجاد آدرس‌های خروجی در متدهای Action
  • · ایجاد آدرس از یک Route مشخص
سفارشی سازی سیستم مسیریابی
  • · ایجاد رفتار تطبیقی سفارشی برای Routeها
  • · ایجاد یک مدیر Route سفارشی
کار با Areaها
  • · ایجاد یک Area
  • · کار با یک Area
  • · حل مشکل تداخل نام Controllerها
  • · ایجاد لینک برای متدهای Action در Areaها
طراحی مناسب آدرس‌ها
  • · آدرس‌هایتان را ساده و کاربر پسند طراحی کنید
  • · GET و POST: انتخاب صحیح
نتیجه­ گیری

فصل 9: Controllerها و Actionها

معرفی 
Controller
  • · آماده­ سازی پروژه
  • · ایجاد یک Controller با استفاده از اینترفیس IController
  • · ایجاد یک Controller با ارث بَری از کلاس Controller
دریافت ورودی
  • · استخراج داده‌ها از اشیای Context
  • · استفاده از پارامترها در متد Action
تولید خروجی
  • · آشنایی با نتایج Action
  • · برگشت نتیجه در قالب HTML با ارسال یک View
  • · انتقال داده‌ها از یک متد Action به یک View
هدایت کاربر به آدرسی دیگر
  • · برگشت داده‌های متنی
  • · برگشت داده‌ها با فرمت XML
  • · برگشت داده‌ها با فرمت JSON
  • · ارسال فایل‌ها و داده‌های باینری
  • · برگشت خطاها و کدهای HTTP
  • · ایجاد یک نتیجه‌ی Action سفارشی
نتیجه­ گیری

فصل 10: 
فیلترها
 استفاده از فیلترها
  • · معرفی چهار نوع فیلتر
  • · اِعمال فیلترها به Controllerها و متدهای Action
  • · فیلترهای مرتبط با اِعطای مجوز دسترسی به منبع
  • · استفاده از فیلترهای مدیریت خطا
  • · استفاده از فیلترهای Action و Result
  • · استفاده از قابلیت‌های دیگر فیلترها
  • · استفاده از فیلترهای موجود
نتیجه­ گیری

فصل 11: 
سفارشی­ سازی 
Controllerها

اجزای دخیل در روند اجرای درخواست


ایجاد یک 
Controller Factory
  • · ایجاد یک Controller Factory سفارشی
  • · ثبت یک Controller Factory سفارشی
کار با Controller Factory موجود
  • · ایجاد حق تقدم برای Namespaceها
  • · سفارشی­ سازی فرایند ایجاد Controller در DefaultControllerFactory
ایجاد یک Action Invoker سفارشی

استفاده از 
Action Invoker موجود
  • · استفاده از یک نام متد Action سفارشی
  • · استفاده از Action Method Selection
  • · استفاده از Action Method Selectorها برای پشتیبانی از سرویس‌های REST
افزایش کارایی با Controllerهای خاص
  • · استفاده از Controllerهای Sessionless
  • · استفاده از Controllerهای نامتقارن
نتیجه گیری

فصل 12:
 
Viewها ایجاد یک View Engine سفارشی
  • · ایجاد یک IView سفارشی
  • · ایجاد یک پیاده ­سازی از اینترفیس IViewEngine
  • · معرفی یک View Engine سفارشی
کار با موتور Razor
  • · آشنایی با نحوه‌ی پردازش View توسط موتور Razor
  • · استفاده از الگوی DI برای Viewهای Razor
  • · پیکربندی مکان­ های جستجوی Viewها
افزودن محتویات پویا به Viewهای موتور Razor
  • استفاده از Inline Code
استفاده از HTML Helperها
  • · ایجاد یک HTML helper Inline
  • · ایجاد یک HTML helper External
  • · استفاده از HTML Helperهای موجود
استفاده از Sectionها
  • · بررسی وجود Sectionها (روش اول)
  • · بررسی وجود Sectionها (روش دوم)
استفاده از Partial Viewها
  • · ایجاد یک Partial View
  • · استفاده از Partial Viewهای Strongly Typed
استفاده از Child Actionها
  • · ایجاد یک متد Child Action
  • · فراخوانی متد Child Action
نتیجه ­گیری

فصل 13: قالب‌های Model

استفاده از 
Templated View Helpers
  • · استفاده از CSS در HTML تولیدی
  • · استفاده از Model Metadata
  • · کار با Propertyهایی از نوع Complex
سفارشی سازی سیستم تولید کدهای HTML
  • · ایجاد یک قالب سفارشی برای حالت ویرایش
  • · ایجاد یک قالب سفارشی برای حالت نمایش
  • · ایجاد یک قالب عمومی
  • · جایگزینی قالب‌های موجود
  • · استفاده از خصیصه‌ی ViewData.TemplateInfo
  • · فراهم کردن اطلاعات اضافی برای یک قالب
آشنایی با سیستم Metadata Provider
  • · ایجاد یک Model Metadata Provider سفارشی
  • · سفارشی­ سازی Data Annotations Model Metadata Provider
نتیجه­ گیری

فصل 14: Model Binding

آشنایی با 
Model Binding

استفاده از 
Model Binder پیش­فرض
  • · Model Binding برای انواع داده‌های ساده
  • · Model Binding برای نوع‌های Complex
  • · Binding برای آرایه‌ها و مجموعه‌ها
فراخوانی Model Binding با کدنویسی
  • · محدود کردن فرایند Model Binding به منبعی مشخص
  • · مدیریت خطاها در فرایند Model Binding
استفاده از Model Binding برای دریافت فایل‌های آپلودی

سفارشی­ سازی سیستم 
Model Binding
  • · ایجاد یک Value Provider سفارشی
  • · ایجاد یک Model Binder با الگوی DI
  • · ایجاد یک Model Binder سفارشی
  • · ایجاد Model Binder Providerها
  • · استفاده از صفت ModelBinder
نتیجه­ گیری

فصل 15: Model Validation

ایجاد پروژه


تعیین اعتبار یک مدل به شکل صریح


نمایش پیغام‌های خطای مرتبط با تعیین اعتبار مقادیر
  • · نمایش پیغام‌های خطای در سطح Property
تکنیک‌های دیگر تعیین اعتبار مقادیر
  • · تعیین اعتبار مقادیر از طریق Model Binder
  • · تعیین قوانین تعیین اعتبار داده‌ها از طریق Metadataها
  • · ایجاد مدل‌هایی که خود را تعیین اعتبار می‌کنند
  • · ایجاد یک Validation Provider سفارشی
تعیین اعتبار در سمت Client
  • · فعال­ سازی/غیر فعال­ سازی تعیین اعتبار در سمت Client
  • · استفاده از قابلیت تعیین اعتبار داده‌ها در سمت Client
  • · آشنایی با نحوه‌ی عملکرد فرایند تعیین اعتبار در سمت Client
  • · سفارشی­ سازی فرایند تعیین اعتبار در سمت Client
آشنایی با Remote Validation

نتیجه­ گیری


فصل 16: AJAX

استفاده از قابلیت 
Unobtrusive AJAX در ASP.NET MVC
  • · ایجاد پروژه
  • · فعال­ سازی/غیرفعال­ سازی Unobtrusive AJAX
  • · استفاده از فرم‌های Unobtrusive AJAX
  • · آشنایی با نحوه‌ی عملکرد قابلیت Unobtrusive AJAX
تنظیمات AJAX
  • · اصل «تنزل مطبوع» (Graceful Degradation)
  • · آگاه­ سازی کاربر در هنگام ایجاد یک درخواست AJAX
  • · تایید کاربر، پیش از ارسال درخواست AJAX
ایجاد لینک‌های AJAXیی
  • · اصل «تنزل مطبوع» برای لینک‌های AJAXیی
کار با Callbackها در AJAX

کار با 
JSON
  • · افزودن پشتیبانی از فرمت JSON به Controller
  • · پردازش داده‌های JSON در مرورگر
  • · تشخیص درخواست‌های AJAX در متد Action
  • · ارسال داده‌ها با فرمت JSON به Server
نتیجه­ گیری

فصل 17: jQuery

ایجاد پروژه


ارجاع به 
jQuery

نوشتن کدهای 
jQuery
  • · اجرای jQuery در یک محیط ایزوله
مبانی jQuery
  • · آشنایی با Selectorهای jQuery
  • · استفاده از فیلترها در jQuery
  • · آشنایی با متدهای jQuery
  • · انتظار برای بارگذاری صفحه
  • · متدهای مرتبط با کار با CSS در jQuery
  • · کار با DOM
استفاده از رویدادها در jQuery

استفاده از جلوه‌های بصری در 
jQuery

استفاده از 
jQuery UI
  • · ارجاع به کتابخانه‌ی jQuery UI
  • · ایجاد دکمه‌هایی با ظاهری زیباتر
  • · استفاده از کامپوننت Slider
نتیجه­ گیری
بخش سوم: تکمیل توانایی‌های مرتبط با پروژه‌های ASP.NET MVC

فصل 18:
 امنیت و آسیب پذیری


تمامی ورودی‌های برنامه می‌توانند جعل شوند!
  • · جعل درخواست‌های HTTP
Cross-Site Scripting و HTML Injection
  • · آشنایی با حملات XSS
  • · کد گذاری HTML از طریق موتور Razor
  • · تعیین اعتبار درخواست
  • · کد گذاری مقادیر رشته‌ای برای JavaScript
Session Hijacking
  • · محافظت از طریق بررسی آدرس IP درخواست ­دهنده
  • · محافظت با تنظیم خصیصه‌ی HttpOnly کوکی­ ها
حملات Cross Site Request Forgery
  • · حمله
  • · دفاع
  • · جلوگیری از حملات CSRF در ASP.NET MVC
SQL Injection
  • · حمله
  • · دفاع با استفاده از کوئری­ های پارامتردار
  • · دفاع با استفاده از ORMها
استفاده‌ی امن از ASP.NET MVC
  • · متدهای Action را سهواً در معرض دسترسی قرار ندهید
  • · اجازه ندهید Model Binding، مقادیر Propertyهای حساس را تغییر دهد
نتیجه­ گیری

فصل 19: 
تصدیق هویت و مجوز دسترسی به منابع


استفاده از تصدیق هویت 
Windows

استفاده از روش تصدیق هویت بر اساس فرم‌ها
  • · تنظیمات Forms Authenticarion
  • · استفاده از Forms Authentication، بدون کوکی
استفاده از سیستم عضویت، نقش‌ها و پروفایل‌ها
  • · پیکربندی و استفاده از سیستم عضویت
  • · پیکربندی و استفاده از نقش‌ها
  • · پیکربندی و استفاده از پروفایل‌ها
چرا نباید مجوزهای دسترسی به منبع را بر اساس آدرس آن تعیین کنیم؟

محدود کردن دسترسی با استفاده از آدرس‌های 
IP و دامنه‌هانتیجه­ گیری

فصل 20: 
قرار دادن پروژه بر روی 
Server

آماده­ سازی پروژه برای انتشار
  • · تشخیص خطا در Viewها، پیش از انتشار پروژه
  • · پیکربندی کامپایل پویا
  • · انتشار پروژه بر روی Server با استراتژی Bin Deployment
  • · تغییر Web.config، با توجه به حالت کامپایل
  • · قرار دادن پایگاه داده‌ی پروژه بر روی Server
آشنایی با مبانی IIS
  • · آشنایی با مفهوم «وب سایت‌ها»
  • · آشنایی با مفهوم Virtual Directory
  • · آشنایی با مفهوم Application Pool
  • · تنظیمات Binding مختلف برای سایت‌ها
آماده­ سازی Server برای انتشار

انتشار یک پروژه
  • · انتشار پروژه با کپی کردن فایل‌های آن
  • · انتشار پروژه با قابلیت Deployment Package
  • · انتشار پروژه با قابلیت One-Click Publishing
نتیجه­ گیری
بخش چهارم: قابلیت های ASP.NET MVC 4

فصل 21: ASP.NET MVC 4

تغییرات صورت گرفته در قالب پروژه ­ی پیش ­فرض


نمایش 
Viewها بر اساس نوع دستگاه درخواست کننده
  • · استفاده از حالت Mobile قابلیت DisplayModes
  • · ایجاد DisplayModeهای سفارشی
  • · دادن اختیار به کاربر برای تغییر DisplayModeها
Bundling و Minification

صفت جدید 
AllowAnonymous

انتقال تنظیمات اولیه به کلاس ­های مجزا


قرار دادن آسان 
Controllerها در پوشه­ ی دلخواه

کتابخانه­ ی 
Knockout

بهبودهای صورت گرفته در موتور 
Razor
  • · تفسیر خودکار عبارت "~/" توسط موتور Razor
  • · صفت­های شرطی
نتیجه­ گیری

فصل 22: ASP.NET Web API

Web API چیست؟
  • · چرا Web Api؟
  • · تفاوت Web API و WCF
ایجاد یک پروژه­ ی Web API
  • · اضافه کردن مدل
  • · اضافه کردن Controller
  • · فراخوانی Web API از طریق مرورگر
  • · فراخوانی Web API با استفاده از کتابخانه­ ی jQuery
آشنایی با مفهوم مسیریابی در Web API

مشاهده­ ی درخواست ارسالی و پاسخ دریافتی


مدیریت کدهای وضعیت در 
Web API
  • · بازیابی رکورد
  • · ایجاد رکورد
  • · آپدیت رکورد
  • · حذف یک رکورد

نتیجه گیری


--------------------------------------------------------------------------------------------------------
نحوه ی خرید:این کتاب را می توانید از طریق کتاب فروشی های معتبر یا سایت انتشارات پندار پارس به آدرس http://www.pendarepars.com تهیه بفرمایید.

موفق باشید.

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد