طراحی سایت با asp.net و معماری mvc

طراحی سایت با asp.net mvc

mvc,asp.net,طراحی سایت با asp و معماری mvc

طراحی سایت با asp.net و معماری mvc

asp.net چیست؟


ASP.Net نسل جدید زبان ASP است که جایگزین آن شده است . صفحات ASP.Net به علت اینکه کامپایل می شوند ، از صفحات ASP کلاسیک سریع تر هستند . 
ASP.Net نسبت به ASP از پشتیانی زبانی بهتر و دامنه گسترده ای از کنترل های پیش ساخته و یا ساخته شده توسط کاربر ( User Control ) بر خوردار است . همچنین این تکنولوژي دارای کامپوننت های XML و سیستم مدیریت کاربری مرکزی ( integrated user authentication ) می باشد . 
فرمت صفحات ASP.Net به صورت aspx بوده و کدهای آن به یکی از زبان های VB.NET یا #C نوشته می شوند . همچنین کنترل های طراحی شده توسط کاربر ( User Control ) را می توان با زبان هایی مثل جاوا یا ++C نیز نوشت.  
هنگامی که مرورگر یک صفحه ASP.Net را درخواست می کند ، موتور ASP.Net بر روی سرور ، فایل آن را خوانده ، کامپایل نموده و اسکریپت های آنها را اجرا می کند . سپس نتایج خروجی را به صورت کدهای HTML و جاوا اسکریپت برای نمایش در مرورگر به کامپیوتر کاربر ارسال می کند .
صفحات ASP.NET دارای پسوند aspx. است، و به طور معمول در VB یا  c# نوشته می شود. کنترل های کاربر در ASP.NET می توان به زبان های مختلف، از جمله ++ C و جاوا نوشته شود. هنگامی که یک مرورگر درخواست یک فایل ASP.NET را دارد، موتور ASP.NET فایل را می خواند، اسکریپت را در فایل اجرا و تالیف می کند، و نتیجه را به شکل زبان HTML ساده به مرورگر برمی گرداند.

Asp یک چارچوب کاربردی Web است که توسط شرکت مایکروسافت عرضه گردیده تا برنامه نویسان بتوانند برای ساخت سایت‌های Web و برنامه‌های Webپویا وسرویس‌های Web پویا وسرویس‌های Web XML از آن استفاده کنند. این بخشی از زیر ساخت.NET مایکروسافت و جانشینی برای تکنولوژی صفحات سرویس دهنده فعال (ASP) است. ASP مبتنی بر زبانهای مشترک در حال اجرا است که به برنامه نویسان اجازه می‌دهد کدهای ASP را با استفاده از هر زبان Framework.NET بنویسند.

ASP.NET Razor چیست؟

یک نحو نشانه گذاری جدید و ساده برای تعبیه کد سرور در صفحات وب ASP.NET است، که بسیار شبیه به ASP کلاسیک است. البته یادگیری و استفاده از آن نسبت به مدل کلاسیک ساده تر است.
•    Razor گرامری است برای افزودن کد های سمت سرور به WebPage.
•    Razor قدرت نشانه گذاری ASP.NET سنتی را دارد، با این تفاوت که Razor را راحت تر می آموزیم و راحت تر به کار می بریم.
•    Razor گرامر نشانه گذاری سمت سرور است که بیشتر مشابه PHP و ASP می باشد.
•    Razor زبان های برنامه نویسی Visual Basic و #C را پشتیبانی می کند.

زبان های برنامه نویسی.net 

دات‌نت یک فریمورک عظیم شامل CLR و مجموعه‌ای از کتابخانه ست که توسط مایکروسافت برای ارائه‌ی یک راهکار جامع برنامه نویسی برای طراحی سایت عرضه شد. زبان های برنامه نویسی مختلفی مثل سی‌شارپ، ویژوال بیسیک، اف‌شارپ و یا حتی پایتون بر پایه‌ی این فریمورک ایجاد شد. و زبان هایی که بر پایه دات‌نت هستن رو بعضا به صورت X.NET مورداستفاده قرار میدن و به هیچ وجه به اینترنت ربطی نداره.
یکی از تکنولوژی های طراحی سایت، تکنولوژی asp.net mvc است. در حال حاضر تعدادی زیادی از سایت های برتر ایران مثل دیجی کالا، بانک ملی، بانک ملت، ورزش سه، بلاگفا، رویال مایند، سنجش و … با asp.net mvc طراحی و پیاده سازی شده اند.

Mvc چیست؟و چرا از آن استفاده میکنیم؟

مخفف کلمات Model View Controller هست . در واقع MVC یک الگوی طراحی جهت جداسازی قسمت های مختلف برنامه است. هر یک از بخش های معماری MVC یعنی Model و View و controller را به شکل زیر تعریف می کنیم.

 بخش model در معماری mvc

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

بخش view در معماری mvc

این بخش اطلاعات را به کاربر نشان می دهد، ویو کاری به منطق برنامه ندارد و فقط یک model دریافت می کند و آن را به هر شکلی که نیاز باشد به کاربر نشان می دهد، این model هم توسط کنترلر ایجاد شده است و برای view رسال شده است. نکته مهمی که در بخش View باید مد نظر داشت این است که این بخش مسئول کنترل صحت داده های وارد شده از طریق کاربر و همچنین مسئول صحت داده های نشان داده شده به کاربر نیست . در واقع این بخش با داده های خام کار میکند  و مسولیت صحت داده با model است.

بخش controller در معماری mvc

ین بخش همانگونه که از اسم آن مشخص است، یک بخش کنترل کننده است، ساده بگویم controller بیشتر مواقع دو جور کار می کند :
   controller اطلاعات را از دیتابیس در قالب model هایی می گیرد و بعد پردازش خود را روی آن انجام می دهد و اطلاعات را در قالب model جدیدی به view می فرستد تا ویو هر طور خواست این اطلاعات را به کاربر نشان دهد.مثل فرض کنید که ما برای صفحه پروفایل یک view برای موبایل داریم و یک view برای ویندوز، حال کنترولر بنا به تشخیص که کاربر با موبایل است یا نه یک view را انتخاب می کند تا برای کاربر ارسال شود و می بینید که یک اطلاعات مشخص در دو view متفاوت ظاهر می شود و view (ظاهر) از منطق برنامه جدا است.
   controller اطلاعات را از مدلی که از view برای او ارسال کرده است دریافت می کند و پس انجام اقداماتی آن را در دیتابیس ذخیره می کند و view دیگری را به کاربر می فرستد تا ببیند.
 

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

  • باعث می شود که بتوانید یک برنامه ی  پیچیده را به راحتی با استفاده از تقسیم برنامه به سه بخش Model، View و Controller مدیریت کنید.
     
  •  در آن از view state و فرم های سمت سرور (server_based_forms) استفاده نمی شود.
  •  پشتیبانی از تمام کنترل های ,HTML  JavaScript  و  CSS.
  • پشتیبانی بهتر از Test-Driven Development (TDD) .
  •  این فریم ورک از وب سایت هایی که به صورت گروهی (Team work) برنامه نویسی می شوند به خوبی پشتیبانی می کند و به طراحان (designer) اجازه می دهد که بر روی رفتار برنامه، سطح بالاتری از کنترل را داشته باشند.
  •  به صورت پیش فرض از Facebook و google پشتیبانی می کند.
  •  برنامه های بزرگ را به چند Area تقسیم می کند که باعث می شود مدیریت آنها آسان باشد.

مزایای طراحی سایت با asp.net mvc


برخی از ویژگی های mvc که باعث افزایش کارایی آن شده عبارت اند از:

  • آدرس‌های تمیزتر
  • عدم وابستگی الزامی به فایل‌های فیزیکی موجود در سیستم
  • امکان مدیریت بهتر قسمت‌های مختلف سایت در پوشه‌های جداگانه
  • امکان تعریف تمام اجزای یک فرم یا view به صورت strongly typed
  • مقدار دهی خودکار مدل متناظر با یک فرم یا View در ASP.NET MVC
  •  کنترل بهتر بر روی اعتبار سنجی اطلاعات دریافتی
  •  امکان تعریف بیش از یک فرم در صفحه
  • سازگاری کامل با jQuery و jQuery Ajax و کلا انواع و اقسام فریم‌ورک‌های جاوا اسکریپتی
  • امکانات فشرده سازی css و js بهتر
  •  تزریق وابستگی‌ها در MVC ساده‌تر است.
  • امکانات امنیتی MVC بیشتر است.

 

اگر سوالی در رابطه با این مطلب دارید می توانید از طریق فرم زیر ارسال کنید
  • ایمیل شما به هیچ عنوان در سایت نمایش داده نمی شود
  • کامنت شما بعد از تایید مدیر سایت نمایش داده می شود