نام کتاب: مرجع کامل ASP.NET MVC 4
ترجمه و تالیف: بهروز راد
ناشر: پندار پارس
تعداد صفحات: 576
قیمت روی جلد: 22500 تومان
مطالعه ی قسمتی از کتاب...
در این کتاب می خوانید:
بخش اول: معرفی 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
استفاده از 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: امنیت و آسیب پذیری
تمامی ورودیهای برنامه میتوانند جعل شوند!
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 تهیه بفرمایید.
موفق باشید.