ݺߣ

ݺߣShare a Scribd company logo
ASP.NET MVC‫تا‬ ‫سیر‬
‫پیاز‬
‫کننده‬ ‫تهیه‬:‫دلیل‬ ‫مرتضی‬
mortezadalil@gmail.com
http://Irsateam.com
irsateam.com
‫اول‬ ‫فصل‬:
‫مقدمات‬
MVC‫چیست؟‬
irsateam.com
‫سمت‬ ‫از‬ ‫درخواست‬
‫کالینت‬
‫آنچه‬ ‫رسانی‬ ‫روز‬ ‫به‬
‫بیند‬ ‫می‬ ‫کاربر‬
‫انتقال‬
‫اطالعات‬
‫رسانی‬ ‫روز‬ ‫به‬
‫اطالعات‬
action
irsateam.com
‫تاریخچه‬ ‫و‬ ‫تعاریف‬
‫یادگیری‬ ‫یا‬ ‫یادآوری‬Stateful & StateLess
ViewState,QueryString,Cookie,Session,Application,Caching,…
irsateam.com
Stateless
Stateful
system
system
‫دارم؟‬ ‫نظری‬ ‫چه‬ ‫من‬
•‫برید‬ ‫می‬ ‫لذت‬ ‫خود‬ ‫پیشه‬ ‫از‬ ‫هستید‬ ‫نویس‬ ‫برنامه‬ ‫اگر‬
‫است‬ ‫سازگار‬ ‫شما‬ ‫منطق‬ ‫با‬ ‫چون‬
•‫میگیرید‬ ‫تصمیم‬ ‫درست‬ ‫و‬ ‫شود‬ ‫می‬ ‫ساماندهی‬ ‫شما‬ ‫فکر‬
‫میکنید‬ ‫یابی‬ ‫عیب‬ ‫راحت‬ ‫و‬
•‫است‬ ‫راحت‬ ‫آماده‬ ‫های‬ ‫تمپلیت‬ ‫و‬ ‫ماژول‬ ‫نوشتن‬+
‫دارد‬ ‫پذیر‬ ‫انعطاف‬ ‫و‬ ‫ساده‬ ‫پیکربندی‬(‫خودتان‬ ‫چون‬
‫اید‬ ‫نوشته‬)
•‫حیات‬ ‫چرخه‬ ‫تر‬ ‫ساده‬ ‫درک‬(‫درگیر‬ ‫یابی‬ ‫عیب‬ ‫برای‬
‫شوید‬ ‫نمی‬ ‫غریب‬ ‫عجیب‬ ‫چیزهای‬ ‫و‬ ‫رویدادها‬)
•‫نیست‬ ‫اینجا‬ ‫بود‬ ‫فرم‬ ‫وب‬ ‫در‬ ‫که‬ ‫ابزاری‬ ‫و‬ ‫ها‬ ‫کنترل‬
‫قرار‬ ‫چیزی‬ ‫چارچوب‬ ‫در‬ ‫نیست‬ ‫قرار‬ ‫یعنی‬ ‫این‬ ‫و‬
‫جی‬ ‫ابزارهای‬ ‫از‬ ‫راحتی‬ ‫به‬ ‫میتوانید‬ ‫مثال‬ ‫و‬ ‫بگیرید‬
‫کنید‬ ‫استفاده‬ ‫خود‬ ‫تمپلیت‬ ‫در‬ ‫کوئری‬
•‫مدیریت‬ ‫برای‬ ‫را‬ ‫شما‬ ‫دست‬ ‫ها‬ ‫ویومدل‬ ‫از‬ ‫استفاده‬
‫میکند‬ ‫باز‬ ‫سرور‬ ‫به‬ ‫برگشتی‬ ‫و‬ ‫رفت‬ ‫اطالعات‬
•‫کنید‬ ‫استفاده‬ ‫میتوانید‬ ‫صفحه‬ ‫یک‬ ‫در‬ ‫فرم‬ ‫چندین‬ ‫از‬
‫میشد‬ ‫محسوب‬ ‫فرم‬ ‫وب‬ ‫در‬ ‫محدودیت‬ ‫یک‬ ‫که‬ ‫کاری‬ ،
•‫معماری‬ ‫کامل‬ ‫انطباق‬MVC‫بودن‬ ‫استیتلس‬ ‫حالت‬ ‫با‬
‫وب‬
•‫بهتر‬ ‫تعامل‬ ‫و‬ ‫انطباق‬MVC‫ایجکس‬ ‫با‬
•‫کالینت‬ ‫سمت‬ ‫در‬ ‫سایت‬ ‫توسعه‬ ‫بودن‬ ‫سخت‬(‫با‬ ‫مرتبط‬
‫مرورگر‬)‫فرم‬ ‫وب‬ ‫کمک‬ ‫به‬
irsateam.com
‫نواقص‬ ‫بندی‬ ‫جمع‬ASP.NET WEBFORM
irsateam.com
•‫استیت‬ ‫ویو‬ ‫وزن‬
•‫صفحه‬ ‫حیات‬ ‫چرخه‬
•‫ها‬ ‫الیه‬ ‫تفکیک‬ ‫از‬ ‫غلط‬ ‫درک‬
•‫روی‬ ‫بر‬ ‫محدود‬ ‫کنترل‬HTML
•‫دار‬ ‫مشکل‬ ‫سازی‬ ‫تجرد‬
•‫ضعیف‬ ‫پذیری‬ ‫تست‬
‫مزایای‬ASP.NET MVC
irsateam.com
•‫الگوی‬ ‫با‬ ‫منطبق‬MVC
•‫پذیری‬ ‫توسعه‬
•‫پذیری‬ ‫تست‬
•‫قدرتمند‬ ‫دهی‬ ‫آدرس‬ ‫سیستم‬
•‫میدانیم‬ ‫نت‬ ‫دات‬ ‫از‬ ‫آتچه‬ ‫ندادن‬ ‫دست‬ ‫از‬
•‫مدرن‬ ‫افزاری‬ ‫نرم‬ ‫رابط‬
•‫بودن‬ ‫سورس‬ ‫اوپن‬ASP.NET MVC
/App_v2/User/Page.aspx?action=show%20prop&prop_id=82742
/to-rent/chicago/2303-silver-street
http://aspnetwebstack.codeplex.com
‫؟‬ ‫دارد‬ ‫نظری‬ ‫چه‬ ‫ماکروسافت‬
"Different customers look for different programming approaches, and a lot love WebForms and
think it is great. Others love MVC and think it is great. That is why we are investing in both. “
Scott Guthrie
irsateam.com
‫وب‬ ‫امروز‬ ‫استاندارهای‬
‫وب‬ ‫توسعه‬ ‫استاندارد‬ ‫ابزار‬ ‫پیشرفت‬(HTML,Css,JavaScript , …)
‫ببینند‬ ‫را‬ ‫ما‬ ‫سایت‬ ‫وب‬ ‫است‬ ‫قرار‬ ‫که‬ ‫هایی‬ ‫دیوایس‬ ‫تعدد‬ ‫و‬ ‫پیشرفت‬.
irsateam.com
HTML5
JAVASCRIPT
Jquery
Angula js
…
REST(Representational State Transfer )
SOAP
Json
Xml
Ajax
‫با‬ ‫کار‬ ‫شروع‬MVC‫سخت‬
‫است‬.
irsateam.com
‫نیاز‬ ‫پیش‬
‫وب‬ ‫طراحی‬ ‫با‬ ‫مقدماتی‬ ‫آشنایی‬
‫با‬ ‫مقدماتی‬ ‫آشنایی‬C#
‫با‬ ‫آشنایی‬Linq
‫با‬ ‫آشنایی‬EntityFramework
irsateam.com
‫نیاز‬ ‫مورد‬ ‫افزارهای‬ ‫نرم‬
Visual studio‫نسخه‬ ‫حداقل‬2013
Visual Studio Express 2013 for Web.
‫ها‬ ‫سرفصل‬
.1‫مقدمات‬
.2‫برنامه‬ ‫اولین‬MVC‫ما‬
.3‫الگوی‬MVC
.4‫برنامه‬ ‫زبان‬ ‫از‬ ‫چیزهایی‬ ‫چه‬
‫است؟‬ ‫الزم‬ ‫نویسی‬
.5Razor‫چیست؟‬
.6‫برای‬ ‫ضروری‬ ‫ابزار‬MVC
.7‫ورزشی‬ ‫فروشگاه‬:‫یک‬ ‫ایجاد‬
‫واقعی‬ ‫سایت‬
.8‫ورزشی‬ ‫فروشگاه‬:‫صفحات‬ ‫هدایت‬
.9‫ورزشی‬ ‫فروشگاه‬:‫خرید‬ ‫سبد‬
.10‫ورزشی‬ ‫فروشگاه‬:‫موبایل‬
.11‫ورزشی‬ ‫فروشگاه‬:‫مدیریت‬ ‫محیط‬
‫سایت‬
.12‫ورزشی‬ ‫فروشگاه‬:‫و‬ ‫امنیت‬
‫پروژه‬ ‫پایان‬
.13‫پروژه‬ ‫بارگذاری‬
.14‫های‬ ‫پروژه‬ ‫بر‬ ‫مروری‬MVC
.15‫کمک‬ ‫به‬ ‫مسیریابی‬ ‫و‬ ‫دهی‬ ‫مسیر‬
‫مناسب‬ ‫دهی‬ ‫آدرس‬
.16‫دهی‬ ‫آدرس‬ ‫پیشرفته‬ ‫های‬ ‫ویژگی‬
.17‫ها‬ ‫اکشن‬ ‫و‬ ‫ها‬ ‫کنترلر‬
.18‫فیلترها‬
.19‫کنترلرها‬ ‫توسعه‬
.20‫ویوها‬
.21‫متدها‬ ‫هلپر‬
.22‫شده‬ ‫دهی‬ ‫قالب‬ ‫متدهای‬ ‫هلپر‬
.23‫ایجکس‬ ‫با‬ ‫مرتبط‬ ‫متدهای‬ ‫هلپر‬
‫ها‬ ‫آدرس‬ ‫و‬
.24Model Binding
.25Model Validation
.26Bundle‫ها‬
.27Web-API‫و‬SPA
irsateam.com
‫منابع‬
•‫کتاب‬Pro Asp.Net MVC Platform
•‫کتاب‬Pro Asp.Net MVC 5
•‫در‬ ‫موجود‬ ‫مرتبط‬ ‫ویدیوهای‬ ‫مجموعه‬pluralsight‫و‬tuts+
•‫اولیه‬ ‫مفاهیم‬ ‫با‬ ‫مرتبط‬ ‫سواالت‬MVC‫در‬Stackoverflow
irsateam.com
‫بندی‬ ‫جمع‬
MVC‫چیست؟‬
STATELESS & STATEFUL
‫تاریخچه‬ ‫و‬ ‫تعاریف‬
‫فریم‬ ‫مورد‬ ‫در‬ ‫مختلف‬ ‫نظرات‬
‫ورک‬ASP.NET MVC
‫وب‬ ‫استانداردهای‬
‫نیاز‬ ‫پیش‬
‫نیاز‬ ‫مورد‬ ‫افزارهای‬ ‫نرم‬
‫سرفصل‬
‫منابع‬
irsateam.com

More Related Content

آموزش ASP.NET MVC فصل اول : مقدمات

  • 1. ASP.NET MVC‫تا‬ ‫سیر‬ ‫پیاز‬ ‫کننده‬ ‫تهیه‬:‫دلیل‬ ‫مرتضی‬ mortezadalil@gmail.com http://Irsateam.com irsateam.com ‫اول‬ ‫فصل‬: ‫مقدمات‬
  • 2. MVC‫چیست؟‬ irsateam.com ‫سمت‬ ‫از‬ ‫درخواست‬ ‫کالینت‬ ‫آنچه‬ ‫رسانی‬ ‫روز‬ ‫به‬ ‫بیند‬ ‫می‬ ‫کاربر‬ ‫انتقال‬ ‫اطالعات‬ ‫رسانی‬ ‫روز‬ ‫به‬ ‫اطالعات‬ action
  • 4. ‫یادگیری‬ ‫یا‬ ‫یادآوری‬Stateful & StateLess ViewState,QueryString,Cookie,Session,Application,Caching,… irsateam.com Stateless Stateful system system
  • 5. ‫دارم؟‬ ‫نظری‬ ‫چه‬ ‫من‬ •‫برید‬ ‫می‬ ‫لذت‬ ‫خود‬ ‫پیشه‬ ‫از‬ ‫هستید‬ ‫نویس‬ ‫برنامه‬ ‫اگر‬ ‫است‬ ‫سازگار‬ ‫شما‬ ‫منطق‬ ‫با‬ ‫چون‬ •‫میگیرید‬ ‫تصمیم‬ ‫درست‬ ‫و‬ ‫شود‬ ‫می‬ ‫ساماندهی‬ ‫شما‬ ‫فکر‬ ‫میکنید‬ ‫یابی‬ ‫عیب‬ ‫راحت‬ ‫و‬ •‫است‬ ‫راحت‬ ‫آماده‬ ‫های‬ ‫تمپلیت‬ ‫و‬ ‫ماژول‬ ‫نوشتن‬+ ‫دارد‬ ‫پذیر‬ ‫انعطاف‬ ‫و‬ ‫ساده‬ ‫پیکربندی‬(‫خودتان‬ ‫چون‬ ‫اید‬ ‫نوشته‬) •‫حیات‬ ‫چرخه‬ ‫تر‬ ‫ساده‬ ‫درک‬(‫درگیر‬ ‫یابی‬ ‫عیب‬ ‫برای‬ ‫شوید‬ ‫نمی‬ ‫غریب‬ ‫عجیب‬ ‫چیزهای‬ ‫و‬ ‫رویدادها‬) •‫نیست‬ ‫اینجا‬ ‫بود‬ ‫فرم‬ ‫وب‬ ‫در‬ ‫که‬ ‫ابزاری‬ ‫و‬ ‫ها‬ ‫کنترل‬ ‫قرار‬ ‫چیزی‬ ‫چارچوب‬ ‫در‬ ‫نیست‬ ‫قرار‬ ‫یعنی‬ ‫این‬ ‫و‬ ‫جی‬ ‫ابزارهای‬ ‫از‬ ‫راحتی‬ ‫به‬ ‫میتوانید‬ ‫مثال‬ ‫و‬ ‫بگیرید‬ ‫کنید‬ ‫استفاده‬ ‫خود‬ ‫تمپلیت‬ ‫در‬ ‫کوئری‬ •‫مدیریت‬ ‫برای‬ ‫را‬ ‫شما‬ ‫دست‬ ‫ها‬ ‫ویومدل‬ ‫از‬ ‫استفاده‬ ‫میکند‬ ‫باز‬ ‫سرور‬ ‫به‬ ‫برگشتی‬ ‫و‬ ‫رفت‬ ‫اطالعات‬ •‫کنید‬ ‫استفاده‬ ‫میتوانید‬ ‫صفحه‬ ‫یک‬ ‫در‬ ‫فرم‬ ‫چندین‬ ‫از‬ ‫میشد‬ ‫محسوب‬ ‫فرم‬ ‫وب‬ ‫در‬ ‫محدودیت‬ ‫یک‬ ‫که‬ ‫کاری‬ ، •‫معماری‬ ‫کامل‬ ‫انطباق‬MVC‫بودن‬ ‫استیتلس‬ ‫حالت‬ ‫با‬ ‫وب‬ •‫بهتر‬ ‫تعامل‬ ‫و‬ ‫انطباق‬MVC‫ایجکس‬ ‫با‬ •‫کالینت‬ ‫سمت‬ ‫در‬ ‫سایت‬ ‫توسعه‬ ‫بودن‬ ‫سخت‬(‫با‬ ‫مرتبط‬ ‫مرورگر‬)‫فرم‬ ‫وب‬ ‫کمک‬ ‫به‬ irsateam.com
  • 6. ‫نواقص‬ ‫بندی‬ ‫جمع‬ASP.NET WEBFORM irsateam.com •‫استیت‬ ‫ویو‬ ‫وزن‬ •‫صفحه‬ ‫حیات‬ ‫چرخه‬ •‫ها‬ ‫الیه‬ ‫تفکیک‬ ‫از‬ ‫غلط‬ ‫درک‬ •‫روی‬ ‫بر‬ ‫محدود‬ ‫کنترل‬HTML •‫دار‬ ‫مشکل‬ ‫سازی‬ ‫تجرد‬ •‫ضعیف‬ ‫پذیری‬ ‫تست‬
  • 7. ‫مزایای‬ASP.NET MVC irsateam.com •‫الگوی‬ ‫با‬ ‫منطبق‬MVC •‫پذیری‬ ‫توسعه‬ •‫پذیری‬ ‫تست‬ •‫قدرتمند‬ ‫دهی‬ ‫آدرس‬ ‫سیستم‬ •‫میدانیم‬ ‫نت‬ ‫دات‬ ‫از‬ ‫آتچه‬ ‫ندادن‬ ‫دست‬ ‫از‬ •‫مدرن‬ ‫افزاری‬ ‫نرم‬ ‫رابط‬ •‫بودن‬ ‫سورس‬ ‫اوپن‬ASP.NET MVC /App_v2/User/Page.aspx?action=show%20prop&prop_id=82742 /to-rent/chicago/2303-silver-street http://aspnetwebstack.codeplex.com
  • 8. ‫؟‬ ‫دارد‬ ‫نظری‬ ‫چه‬ ‫ماکروسافت‬ "Different customers look for different programming approaches, and a lot love WebForms and think it is great. Others love MVC and think it is great. That is why we are investing in both. “ Scott Guthrie irsateam.com
  • 9. ‫وب‬ ‫امروز‬ ‫استاندارهای‬ ‫وب‬ ‫توسعه‬ ‫استاندارد‬ ‫ابزار‬ ‫پیشرفت‬(HTML,Css,JavaScript , …) ‫ببینند‬ ‫را‬ ‫ما‬ ‫سایت‬ ‫وب‬ ‫است‬ ‫قرار‬ ‫که‬ ‫هایی‬ ‫دیوایس‬ ‫تعدد‬ ‫و‬ ‫پیشرفت‬. irsateam.com HTML5 JAVASCRIPT Jquery Angula js … REST(Representational State Transfer ) SOAP Json Xml Ajax
  • 10. ‫با‬ ‫کار‬ ‫شروع‬MVC‫سخت‬ ‫است‬. irsateam.com ‫نیاز‬ ‫پیش‬ ‫وب‬ ‫طراحی‬ ‫با‬ ‫مقدماتی‬ ‫آشنایی‬ ‫با‬ ‫مقدماتی‬ ‫آشنایی‬C# ‫با‬ ‫آشنایی‬Linq ‫با‬ ‫آشنایی‬EntityFramework
  • 11. irsateam.com ‫نیاز‬ ‫مورد‬ ‫افزارهای‬ ‫نرم‬ Visual studio‫نسخه‬ ‫حداقل‬2013 Visual Studio Express 2013 for Web.
  • 12. ‫ها‬ ‫سرفصل‬ .1‫مقدمات‬ .2‫برنامه‬ ‫اولین‬MVC‫ما‬ .3‫الگوی‬MVC .4‫برنامه‬ ‫زبان‬ ‫از‬ ‫چیزهایی‬ ‫چه‬ ‫است؟‬ ‫الزم‬ ‫نویسی‬ .5Razor‫چیست؟‬ .6‫برای‬ ‫ضروری‬ ‫ابزار‬MVC .7‫ورزشی‬ ‫فروشگاه‬:‫یک‬ ‫ایجاد‬ ‫واقعی‬ ‫سایت‬ .8‫ورزشی‬ ‫فروشگاه‬:‫صفحات‬ ‫هدایت‬ .9‫ورزشی‬ ‫فروشگاه‬:‫خرید‬ ‫سبد‬ .10‫ورزشی‬ ‫فروشگاه‬:‫موبایل‬ .11‫ورزشی‬ ‫فروشگاه‬:‫مدیریت‬ ‫محیط‬ ‫سایت‬ .12‫ورزشی‬ ‫فروشگاه‬:‫و‬ ‫امنیت‬ ‫پروژه‬ ‫پایان‬ .13‫پروژه‬ ‫بارگذاری‬ .14‫های‬ ‫پروژه‬ ‫بر‬ ‫مروری‬MVC .15‫کمک‬ ‫به‬ ‫مسیریابی‬ ‫و‬ ‫دهی‬ ‫مسیر‬ ‫مناسب‬ ‫دهی‬ ‫آدرس‬ .16‫دهی‬ ‫آدرس‬ ‫پیشرفته‬ ‫های‬ ‫ویژگی‬ .17‫ها‬ ‫اکشن‬ ‫و‬ ‫ها‬ ‫کنترلر‬ .18‫فیلترها‬ .19‫کنترلرها‬ ‫توسعه‬ .20‫ویوها‬ .21‫متدها‬ ‫هلپر‬ .22‫شده‬ ‫دهی‬ ‫قالب‬ ‫متدهای‬ ‫هلپر‬ .23‫ایجکس‬ ‫با‬ ‫مرتبط‬ ‫متدهای‬ ‫هلپر‬ ‫ها‬ ‫آدرس‬ ‫و‬ .24Model Binding .25Model Validation .26Bundle‫ها‬ .27Web-API‫و‬SPA irsateam.com
  • 13. ‫منابع‬ •‫کتاب‬Pro Asp.Net MVC Platform •‫کتاب‬Pro Asp.Net MVC 5 •‫در‬ ‫موجود‬ ‫مرتبط‬ ‫ویدیوهای‬ ‫مجموعه‬pluralsight‫و‬tuts+ •‫اولیه‬ ‫مفاهیم‬ ‫با‬ ‫مرتبط‬ ‫سواالت‬MVC‫در‬Stackoverflow irsateam.com
  • 14. ‫بندی‬ ‫جمع‬ MVC‫چیست؟‬ STATELESS & STATEFUL ‫تاریخچه‬ ‫و‬ ‫تعاریف‬ ‫فریم‬ ‫مورد‬ ‫در‬ ‫مختلف‬ ‫نظرات‬ ‫ورک‬ASP.NET MVC ‫وب‬ ‫استانداردهای‬ ‫نیاز‬ ‫پیش‬ ‫نیاز‬ ‫مورد‬ ‫افزارهای‬ ‫نرم‬ ‫سرفصل‬ ‫منابع‬ irsateam.com

Editor's Notes

  • #9: آقای اسکات گاتری یکی از مسئولین بلندپایه ماکروسافت که میگن ام وی سی دست پخت ایشون بوده این نظر رو داره که همه چیز بستگی به مشتری ها داره، هر کسی تمایلات خودش برای برنامه نویسی رو داره و روش خودشو دنبال میکنه خیلی ها وب فرم رو دوست دارند و فکر میکنن عالیه و خیلی های دیگه ام وی سی. برای همین هست که ماکروسافت مشغول توسعه هر دو تکنولوژی هست. از طرفی یادآور بشیم که ام وی سی در سال 2009 تولید شد و شایعه هست که این آقا توی هواپیما و سفر یهو به ذهنش زد که در چارچوب پلتفرم ASP.NET این فریم ورک جدید به نام ASP.NET MVC رو تولید کنه که البته حرف قابل قبول نیست. ماکروسافت وقتی نسخه ام وی سی رو بیرون داد که دید انقلابی در تکنولوژی وب با اومدن Rails بوجود اومده و کم کم داره وب فرمش رو تحت الشعاع قرار میده، Rails یک وب فریم ورک هست که به زبان روبی نوشته شده و اوپن سورس هست و ارتباط با بانک اطلاعاتی رو ساده کرده و قوانین مخصوص به خودش رو داره و خیلی از کارها رو اتوماتیک انجام میده. مهمترین ویژگیش ساخته شدنش بر مبنای معماری ام وی سی هست که گویا خیلی حسادت ماکروسافت رو بر انگیخت. این معماری رو قبلا توضیح دادیم و در آینده هم با جزئیات بیشتری بهش میپردازیم اما قبل از همه اینها کمی در مورد وب و استانداردهاش بدونیم بد نیست
  • #11: یعنی دانستن اچ تی ام ال و سی اس اس