تک تودِی
فناوری های روز را با ما دنبال کنید

آموزش تصویریMVC.NET – فصل اول

7
5 (100%) 1 vote

با عرض سلام و خسته نباشید

سری اول آموزش تصویری برنامه نویسی به زبان MVC.NET رو برای شما دوستان آماده کردم

امیدوارم خوشتون بیاد ( فایل پی دی اف + فایل تصویری + متن )

میتونید فایل پی دی اف رو از این لینک دریافت کنید

همچنین برای دوستانی هم امکان دیدن فیلم و یا دانلود فایل وجود نداره متن کامل رو قرار میدم.

فقط یک نکته : این فایل پی دی اف تا اواسط فصل سوم هست ولی فیلمی که در این پست قرار میدم مربوط به فصل اول

-_-_-_-_-_-_

Ø معرفی MVC.NET

MVC.NET یک تکنولوژی جدید مایکروسافت جهت راه اندازی برنامه های تحت وب می باشد. زمان نگارش این مقاله ورژن ۲ آن موجود می باشد. که دقیقاً همین امروز نسخه ۳ آن ریلیز شد.

ASP.NET MVC چارچوب جدیدیست که برای برنامه های کاربردی تحت وب، نگهداشت پذیری و آزمون پذیری بالایی را به ارمغان آورده است که این مهم توسط الگوی Model – View – Controller محقق می شود. این مدل برنامه نویسان را تشویق به جدا سازی سیستماتیک قسمتهای User Interface و قسمتهای مربوط به کنترل داده های وارد شده توسط کاربر و همچنین قسمتهای مربوط به ارتباط و تراکنش با پایگاه داده می کند.

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

این کتاب از دو بخش تشکیل شده است. در بخش اول شما را با این تکتولوژی آشنا می کنم . به عنوان مثال : کار با کنترلر ها، کشینگ، اعتبارسنج ها و … . در بخش دوم  این کتاب با توجه آموزه هایی که در بخش اول داریم به راه اندازی یک سایت با امکانات متفاوت ازجمله فروشگاه الکترونیکی می نماییم.

همانطور که در صفحه ۳ همین کتاب گفتم سعی می کنم تا کار را راحت کنم، یعنی اگر کسی مستقیم به بخش دوم این کتاب برود بدون هیچ مشکلی از آن سر در بیاورد و …

ü یک خواهش:

به عنوان برادر کوچکتر شما از شما خواهش می کنم اگر واقعاً علافه مندید تا یک برنامه نویس حرفه ای بشوید اول بروید و الفبای آن را یاد بگیرید…

شما برای اینکه این کتاب را بهتر درک کنید می بایست با مباحث زیر آشنایی داشته باشید:

HTML / CSS / ASP.Net / JQuery / C#.Net or VB.Net / LINQ

البته تمامی مباحث را تا حدودی که لازم باشد در مقطع مناسب در این کتاب توضیح می دهم. همچنین بنده با C#  کار می کنم ولی در نهایت ( آخر پروژه ) کدهای VB.net را هم انتشار می دهم.

ü نیازمنده ها

همانطور که همه شما عزیزان می دانید برای برنامه نویسی MVC.NET به یکسری ابزار نیاز داریم که عبارتند از:

  • Microsoft .Net Framework 3.5 or Up
  • Microsoft ASP.Net MVC 1.0 or Up
  • Microsoft Visual Web Developer 2008 Service pack 1 or Visual Studio 2008 Service  pack 1
  • SQL Server Express : که همراه بسته های مورد سوم عرضه می شود

فصل اول – بخش اول – ورود بهMVC.NET

در این فصل می خواهم شما را برای برنامه نویسی MVC آماده کنم همچنین یک پیش نمایشی از asp.net mvc  به شما میدهم. هدف از این بخش طرح ریزی نقشه راه و آماده سازی شما است.  همچنین شما را با تکنولوژی دات نت فریم ورک آشنا می کنم. تکنولوژی که ( البته از دید بنده ) تمامی برنامه نویسان را مدیون بیل گیتس محترم و شرکت بزرگش مایکروسافت می کند.

در نهایت در مورد معماری ASP.Net MVC   به بحث می پردازیم. همچنین شما را آماده کنم برای         پیش نمایشی از قسمت های مختلف MVC Application که شامل مدل، نمایشگر و کنترلر . و با یکدیگر به ساخت اولین پروژه در MVC و بررسی کدهای آن می پردازیم.

Ø دانلود و نصب نرم افزار

این قسمت را چون همه شما عزیزان استاد هستید می گذارم برای یک فرصت دیگر

Ø دات نت فریمورک Dot Net Frameworks

این قسمت را چون همه شما عزیزان استاد هستید می گذارم برای یک فرصت دیگر

Ø چرا ASP.NET MVC ؟

مایکروسافت برای بهبود روابط بین کاربر و برنامه نویس این تکنولوژی را معرفی نمود تا برنامه نویسان بتوانند آنچه را که مد نظر دارند سریعتر و با دقت بیشتر و سورس کد کمنر به دست آورند.

برخی از برنامه نویسان، همچنان از ASP.NET که بر مبنای فرم های وب و Postback است، استفاده می کنند، برخی از ویژگی های MVC سود می برند و بعضی ها هم دو پلت فرم را ترکیب می کنند و این موضوع بیانگر این است که هیچکدام از پلت فرم ها ناقص یکدیگر نیستند. در واقع MVC بر روی معماری های چند لایه ای جهت تفکیک بخش های مختلف برنامه (بخش های منطقی برنامه مانند داده ها، مجوزها، کنترل صحت داده ها و لایه های مرتبط با کاربر نهایی) قرار می گیرد. مفهوم تازه ای نیست، خیلی وقت است که در جاوا، PHP و بسیاری پلت فرم های دیگر از این الگوها برای طراحی نرم افزار استفاده می شود. اما برای طراحان و توسعه دهندگان ASP.NET تازگی دارد.

Ø اجزای تشکیل دهنده ( معماری) MVC

۱- Model(مدل): قسمتی از برنامه کاربردی است که مسئول بازیابی داده از بانک اطلاعاتی، ذخیره آن، تبدیل آن به شی یا آبجکت ها و پیاده سازی منطق برنامه برای داده های دامنه ی مسئله است. در حقیقت بار اصلی معماری MVC بر عهده ی این بخش است. مثلاً یک آبجکت Product ممکن است اطلاعات را از بانک اطلاعاتی بازیابی کرده، بر روی آنها عملیاتی را انجام دهد و سرانجام نتیجه را در بانک اطلاعاتی ئ در جدول Products ذخیره کند.

۲- view(نمایشگر): اجزایی از برنامه است که واسط کاربری برنامه (UI) را می سازد. معمولاً این UI از داده های مدل ساخته می شود. در واقع نقطه پایان برنامه کاربردی است . به کاربر نتایج عملیات و بازیابی و نمایش داده از طریق برقراری ارتباط با دو بخش دیگر؛ یعنی مدل و کنترلگر را نشان می دهد.برای مثال، هنگامی که کاربر در فرم ورود به سیستم رمز عبور خود را وارد می کند، اکثر برنامه نویسان در همان فرم اقدام به چک کردن رمز عبور می کنند که این عمل مغایر با قوانین MVC است. در MVC هنگامی که کاربر رمز عبور را کرد، رمز عبور بدون هیچگونه اعمالی به بخش های دیگر فرستاده می شود و فقط یک نتیجه ساده یا خبر از بخش های دیگر دریافت می کند که از طریق آن اجازه ی ورود به برنامه داده می شود.

۳- Controller(کنترلگر): اجزایی از برنامه هستند که مدیریت تعامل با کاربر را بر عهده دارند. می توان گفت که واسط بین مدل و نمایشگر می باشند؛ یعنی با مدل کار می کند و در انتها نمایشگری را برای نشان دادن واسط کاربری انتخاب می کند. ورودی کاربر را مدیریت کرده و به آنها پاسخ می دهد و با کاربر تعامل می کند. برای مثال، کنترلگر عبارت های پرس و جوی بانک اطلاعاتی را مدیریت کرده و آن ها را به مدل ارسال می کند، وظیفه اجرای پرس و جوها با مدل است.

Ø درک الگوی MVC.NET

برای درک بهتر مفهوم MVC بهتر است یک نگاهی به شکل زیر بیاندازیم:

یک درخواست در شکل بالا مسیرهای زیر را می پیماید:

۱-     کابر با مرورگر در ارتباط است . به عنوان مثال آدرس سایت آموز فارسی یعنی www.faedu.ir را در مرورگر وارد می نماید و یا یک لینک را در یک صفحه کلیک می نماید. این نقطه شروع درخواست است.

۲-     درخواست به کنترل گر فرستاده می شود و آن را اعتبار سنجی می نماید و اجرای درخواست را در مدل الزامی می کند

۳-     مدل به بانک اطلاعاتی رجوع کرده و داده های بازیابی شده را به کنترل گر می فرستد.

۴-     کنترل گر داده ها را فرمت کرده و به نمایشگر میفرستد . (البته منظور از نمایشگر در اینجا مانیتور نیست !!!)

۵-     در مرحله آخر نمایشگر داده های مورد نیاز را دریافت کرده و جواب را به کاربر باز می گرداند ( در اینجا در مانیتور کاربر نمایش داده می شود )

Ø چه زمانی برنامه های MVC را ایجاد می نماییم؟

شما باید در هنگام انتخاب ASP.NET و ASP.NET MVCبرای ساخت برنامه های وبی بسیار دقت کنید. MVC جایگزینی برای فرم های وب ASP.NET نیست و شما می توانید از هر کدام از آنها برای ساخت برنامه های وبی استفاده کنید. اگر شما یک برنامه وبی بر مبنای فرم های وب دارید، می توانید همچنان آن را به همان شیوه ی سابق ادامه دهید.

پیشنهاد می کنیم بخوانید  رونمایی IBM از مدل جدید برنامه‌نویسی برای ساخت اپلیکیشن‌های بدون سرور

Ø مزایای برنامه های وبی مبتنی بر MVC

  • با تقسیم یک برنامه به سه قسمت مدل، نمایشگر و کنترلگر، مدیریت برنامه یا پروژه را ساده تر می کند.
  • از View State و فرم های سروری استفاده نمی کند و از این نظر برای برنامه نویسانی که تسلط کامل بر رفتار برنامه را می خواهند عالی است.
  • از الگوی کنترلگر جلو استفاده می کند که درخواست های برنامه را توسط یک کنترلگر پردازش می کند. این مسئله باعث می شود تا بتوانیم برنامه هایی را طراحی کنیم که از زیر ساخت های غنی مسیر یابی پشتیبانی می کند.
  • پشتیبانی بهتری از طراحی و توسعه آزمون محور دارد.
  • برای برنامه های پشتیبانی شده توسط تیم های بزرگ برنامه نویسان که کنترل بسیار بر رفتار برنامه را می خواهند، بهتر کار می کنند.

Ø ویژگی های ASP.Net MVC

  • جداسازی وظایف برنماه کاربردی (منطق ورودی، منطق کاری و منطق واسط کاربری) و امکان تست کردن برنامه و طراحی و توسعه آزمون محور به صورت پیش فرض. تمام ارتباطات اصلی در MVC بر مبنای واسط است و می توان آن ها را با اشیای ساختگی Mick تست کرد. می توانید ک. نترلگرها را بدون اینکه آنها را در ASP.NET اجرا کنید، تست کنید و این باعث افزایش سرعت و انعطاف تست برنامه می شود. می توانید از هر فریم ورک تست که با فریم ورک Net. منطبق است برای این کار استفاده کنید.
  • فریم ورکی توسعه پذیر و قابل اتصال. اجزای اصلی ASP.NET MVC به گونه ای طراحی شده اندکه به راحتی جایگزین یا سفارشی شوند. می توانید به سادگی پیاده سازی های خودتان را جایگزین موتور نمایشگر، سیاست های آدرس، سریالی کردن پارامترهای متدهای عملیات یا سایر اجزا کنید. همچنین ASP.NET MVC از فریم ورک های تزریق وابستگی و وارونگی کنترل پشتیبانی می کند. به شما امکان می دهد به جای این که اشیا را توسط کلاس ها بسازید، آنها را از جایی بیرون از کد مثل فایل های تنظیمات بگیرید و این مسئله تست برنامه را ساده تر می کند.
  • نگاشت های قوی آدرس ها که امکان ساخت برنامه هایی با آدرس های با معنی و جستجو شدنی (قابل جستجو توسط موتورهای جستجوگر) را می دهدو نیازی نیست که آدرس ها پسوند فایل داشته باشند، آنها به گونه ای طراحی شده اند که از الگوهای نامگذاری قابل فهم برای موتورهای جستجوSEO و آدرس های انتقال وضعیت قابل نمایش REST پیروی کنند.
  • پشتیبانی برای استفاده از نشانه گذاری در صفحات ASP.NET(فایل های aspx). کنترل های کاربر (فایل های ascx.) صفحات Master(با پسوند master.) به عنوان قالب های نمایشگر. شما می توانید از برخی ویژگی های موجودASP.NET از قبیل صفحات master تو در تو، اسکریپت درونی (<%=%>)، کنترل های سرور اعلان شده، قالب، انقیاد داده ها، محلی سازی و … در فریم ورک ASP.NET MVC استفاده کنید.
  • پشتیبانی از ویژکی های موجود ASP.NET : ASP.NET MVC به ما این امکان را می دهد تا از ویژگی هایی مانند مجوز فرم و تشخیص هویت ویندوز، مجوز آدرس ها، عضویت و نقش ها، خروجی و کش کردن داده ها و Session و مدیریت وضعیت پروفایل، مانیتور کردن صحیح، سیستم پیکر بندی و معماری عرضه کننده استفاده کنید.

حال که با مفاهیم پایه ای فریم ورک دات نت و همچنین MVC آشنا شدید، یک پروژه ساده را شروع به نوشتن می نماییم.

Ø پروژه ۱:

۱-     ویژوال استودیو را باز کنید

۲-     از منوی فایل گزینه New Project  را انتخاب نمایید.

۳-     از پنجره محاوره ای NEW Project در فسمت چپ Visual C#>WEB را انخاب و از قسمت سمت راست گزینه ASP.NET MVC Web Application را انتخاب نمایید. در قسمت پایین نامی را برای پروژه خود برگزینید.( مانند شکل زیر)

۴-      پس از اینکه بر روی گزینه OK کلیک می نمایید، پنجره ای مطابق شکل زیر نمایش داده می شود. درباره این قسمت در فصل های آینده (بخش شماره       )  مفصل توضیح می دهم. تنظیمات پیش فرض را قبول کرده و ادامه دهید.

۵-      پس از چند ثانیه که ویژوال استودیو مشغول به فعالیت شد ، در پنجره Solution Explorer فایل ها و فولدرهایی را به صورت پیش فرض برای شما و پروژه شما ساخته است

Ø فولدرهای پیش فرض

ویژوال استودیو به صورت پیش فرض فایل و فولدرهای استانداردی را به پروژه شما اضافه می نماید تا هم کار شما آسان شود تا هم از یک استاندارد خاص و ( تقریباً) مورد تایید خود مایکروسافت پیروی نمایید. این فولدرها شامل:

App_Date: شامل فایل های دیتابیس می شود

Content: شامل فایل های محتوایی استاتیک مانند عکس ها و فایل های CSS می شود

Controllers: شامل کلاس های کنترلر ASP.Net MVC می شود.

Models: شامل کلاس های مدل ASP.Net MVC می شود.

Scripts: شامل فایل های جاوا اسکریپتی مانند JQUERY , AjaxLiberary می شود

Views: شامل کلاس های نمایشگر ASP.Net MVC می شود.

وقتی شما یک پروژه Asp.Net MVC می سازید حتماً باید ( البته اجباری نیست برای راحتی و استاندارد کاریست ) فایل های Controller را درون فولدر خود ذخیره نمایید، اسکریپت ها را در فولدر Scripts و …

Ø راه اندازی پروژه

حال برای راه اندازی پروژه می بایست از یکی از دو طریق زیر عمل نمایید:

۱-     دکمه F5 را از روی کیبورد فشار دهید.

۲-     از منوی Debug بر روی گزینه Start Debugging کلیک نمایید.

چنانچه برای بار اول یک پروژه را اجرا می نمایید یک پنجره ای برای شما باز می شود و از شما میخواهد که آیا موافقید دیباگینگ به صورت اتوماتیک فعال شود و بهتر است شما گزینه OK را کلیک نمایید. بعد از اینکه شما پروژه را اجرا کردید پنجره مرورگر باز شده و پروژه شما را نشان می دهد ( مطابق شکل )

این ساده ترین نوع پروژه در ASP.Net MVC میباشد که شمال هیچ چیز نمی شود ( از جمله لایه های مختلف معماری برنامه نویسی ، لایه بانک اطلاعاتی، لایه کاربری، … )

این صفحه تنها شامل یک کنترلر ASP.Net MVC و دو نمایشگر ASP.Net MVC می باشد.

این کنترلر در فولدر زیر قرار دارد:

C# CODE

…ControllersHomeControllers.cs

VB CODE

…ControllersHomeControllers.vb

اگر شما از آدرس بالا صفحه مورد نظر باز نمایید کدهای زیر را مشاهده می نمایید:

C# CODE

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace MyFirstMvcApp.Controllers

{

[HandleError]

public class HomeController : Controller

{

public ActionResult Index()

{

ViewData[“Message”] = “Welcome to ASP.NET MVC!”;

return View();

}

public ActionResult About()

{

return View();

}

}

}

این صفحه کد شامل یک کلاس و دو متد با نام های Index() و About() می شود. هر دو متد برای برگرداندن نمایشگر استفاده می شوند.

وقتی شما اولین پروژه خود را اجرا می نمایید، متد Index() اجرا شده و سپس Index را در قسمت return نمایش می دهد. اگر شما بر روی تب About در صفحه اصلی ( مرورگر ) کلیک کنید اکشن یا حالت دوم متد که About() می باشد اتفاق می افتد و وارد صفحه About  میشود.

شما می توانید این دو صفحه را در مسیر زیر پیدا کنید:

…ViewsHomeAbout.aspx

…ViewsHomeIndex.aspx

سورس کدهی صفحه Index.aspx به شرح ذیل می باشد:

C# CODE

<%@ Page Language=”C#” MasterPageFile=”~/Views/Shared/Site.Master” Inherits=”System.Web.Mvc.ViewPage” %>

<asp:Content ID=”Content1″ ContentPlaceHolderID=”TitleContent” runat=”server”>

Home Page

</asp:Content>

<asp:Content ID=”Content2″ ContentPlaceHolderID=”MainContent” runat=”server”>

<h2><%: ViewData[“Message”] %></h2>

<p>

To learn more about ASP.NET MVC visit <a href=”http://asp.net/mvc” title=”ASP.NET MVC Website”>http://asp.net/mvc</a>.

</p>

</asp:Content>

همانطور که مشاهده می نمایید این صفحه تقریباً از کدهای استاندارد HTML به همراه یک سری کد برنامه نویسی به زبان ASP تشکیل شده است.

Ø نتیجه گیری

هدف از این بخش آمادگی شما و ذهن شما برای برنامه نویسی به زبان  ASP.Net MVC بوده. در اول فصل شما را با مبحث دات نت فریمورک آشنا کردیم و یک توضیح مختصر درباره آن دادیم. بعد در مورد ASP.Net MVC صحبت کردیم و از معماری MVC نیز چند خطی توضیح دادیم. سپس اولین پروژه را ایجاد کردیم و یک توضیح ( نه چندان مفصل ) درباره آن دادیم.

هدف این فصل تنها آشنایی اولیه شما با تکنولوژِی ASP.Net MVC بوده است.

در پایان از شما دوستان می خواهم چنانچه نظر  یا انتقادی درباره این مطالب دارید حتماً با بنده در میان بگذارید.

Farjadp@live.com faedu.ir@gmail.com 0912 – ۲۸۳ ۰ ۷۹۵ مرتضی پورمحمد

پایان بخش اول از فصل اول

[download id=”http://faedu.ir/wp-content/uploads/2011/01/MVC-1.swf”]

دانلود فیلم با حجم ۷٫۵ مگابایت با فرمت SWF از لینک زیر

MVC-1

7 نظرات
  1. mapar202 می گوید

    با سلام و تشکر فراوان بخاطر کتاب خوبتون
    می خواستم بدونم فصل بعدی کی آماده میشه، من این را خوندم منتظر بعدی ام.

    1. فرجاد می گوید

      با درود
      دوست عزیز فکر کنم تا پایان فصل سوم رو در سایت برنامه نویس قرار دادم ولی هنوز وقت پیدا نکردم تا در سایت خودم قرار دهم
      شما می توانید آخرین نسخه را از آنجا دانلود نمایید
      همچنین ادامه آموزش رو هم تا چند روز آینده به امید حق تعالی شروع می کنم
      چنانچه نظر و یا پیشنهادی دارید حتماْ بفرمایید
      با تشکر از شما
      در پناه حق
      مرتضی پورمحمد

  2. مایکل می گوید

    سلام خسته نباشید
    قبل از هر چیز ممنون از زحمتتون
    سوالی داشتم خدمتتون : من مقدار کمی سی پلاس پلاس کار کردم و دارم هنوزم کار میکنم و مبخوام کنارش برنامه ی وب هم یاد بگیرم شما اول کتابتون فرمودید که قبلش اچ تی ام ال رو یاد بگیریم اما من فرصتم کمه و میخوام هر چه زودتر یاد بگیرم و سایتی رو راه اندازی کنم حالا امکانش هست راهنمایی کنید ممنون
    راستی لینک دانلود فایل تصویری کار نمیکنه

    1. فرجاد می گوید

      درود
      دوست گرامی خوشحالم که به سایت ما آمدید
      در مورد اچ تی ام ال خدمتتون عرض کنم از دید بنده ی حقیر html ده پانزده تگ اصلی دارد که اگر اینها را بلد باشید و کار هم کرده باشید دیگر به مشکل بر نمیخورید
      سعی می کنم طی یکی دو روز آینده این تگ ها را معرفی کنم تا کار دوستانی مثل شما راه بیفتد!
      لینک ها مشکلی ندارند و چک کردم.. فکر کنم شما روی مرورگز خود فلش پلیر را نصب ندارید
      لینک دانلود : http://faedu.ir/wp-content/uploads/2011/01/MVC-1.swf

  3. mopaliz می گوید

    با سلام
    در صورت امکان بسیار بسیار سپاسگذار خواهم شد اگر مطالبی آموزشی در خصوص wcf نیز مطرح کنید

  4. رضا صفا می گوید

    خیلی مردی ….. آفرین

  5. کیوان می گوید

    با سلام و خسته نباشید
    من میخواستم طراحی سایت یاد بگیرم
    شروع کردم به یادگیری html – css – java script
    خواستم بدونم برای یادگیری mvc آیا نیازی به یادگیری c# هست ؟
    من تا حدودی با زبان c++ کار کردم و آشنایی دارم

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.