موقعیت شما:
صفحه اصلی » asp.net mvc » MVC و معماری آن

تبلیغات ویژه

MVC و معماری آن

معماری MVC در دهه ۷۰ میلادی معرفی شد اما در آن زمان پیاده سازی برنامه های Stand Alone با استفاده از این معماری چندان مورد استقبال برنامه نویسان قرار نگرفت. اما با ظهور اینترنت و برنامه های مبتنی بر وب این معماری شانس دوباره ای یافت. ASP.NET MVC فریم ورک مبتنی بر معماری MVC مایکروسافت میباشد که در این سری مقالات به معرفی و بررسی آن خواهیم پرداخت. از دلایل محبوبیت این معماری نظام بخشیدن به پروژه های طراحی سایت میباشد. معمولاً به علت همکاری چندین تکنولوژی مختلف با هم در برنامه های مبتنی بر وب ساختار پروژه های بزرگ پیچیده میشوند و اعمال تغییرات و همچنین رفع خطا های پروژه مشکل و زمانبر میشوند که معماری MVC با جداسازی لایه های مختلف برنامه نویسی تا حد زیادی این مشکل را رفع کرده است. از دیگر مزایای این فریم ورک میتوان به کنترل کامل بر روی HTML نهایی، پشتیبانی از فریم ورکهای گوناگون برای Unit Testing ، کنترل بر روی آدرسهای URL و تعامل راحت تر با فریم ورکهای javascript اشاره کرد.

 خصوصیات یک نرم افزار خوب چیست ؟

نام بردن تمامی خصوصیات یک نرم افزار خوب در این مقال نمی گنجد اما تعداد محدود و مهمی از آنها عبارتند از:

  • قابل حمل بودن
  • قابل استفاده مجدد بودن
  • قابل تغییر بودن
  • بهینه بودن از لحاط حافظه و زمان (زمان مهمتر از حافظه)

مسئله ؟
بهتر است وجود مسئله را با یک مثال نشان دهم فرض کنید نرم افزاری برای شرکتی نوشتید که یک بخش آن مقدار سود وزیان شرکت را در سال های مختلف بر اساس ارقام بیان میکند . حال صاحب برنامه پس از مدتی ازشما می خواهد برنامه را طوری تغییر دهید که همین اطلاعات را به گونه های دیگری مثلا نمودار های مختلف ( میله ای ، دایره ای و …) در اختیار داشته باشد و یا حتی بخواهد آنها را به فرمت خاصی و در فایل های خاصی ذخیره کند . در این مواقع چطور مشکل را حل میکنید؟ همانطور که گفته شد یکی از خصوصیات نرم افزار خوب قابل تغییر بودن آن میباشد. فرض کنید که برنامه را به این شکل طراحی کردید:

mvc

همانطور که در شکل نیز نشان داده شده است تمامی اعمال اعم از دریافت داده ها که مهمترین بخش است و همچنین پردازش آن ها همگی در یک فرم طراحی و پیاده سازی شده اند، و دقیقا مشکل همینجا نمایان می شود . ارتباط مستقیم با منبع داده بر قرار کردن جدا از اینکه مشکلات امنیتی دارد که بحث در مورد آن خارج از این مقال است ، باعث میشود که دست برنامه نویس را برای تغییرات آتی دربرنامه ببندد. چون داده درون خود فرم از منبع داده و به صورت مستقیم خوانده می شود پس دسترسی به داده های خوانده شده وجود ندارد . یا حداقل متحمل سربار زیادی می باشد.

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

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

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

قابلیت استفاده مجدد :
یک طراحی خوب باید بتواند در دراز مدت هم قابلیت توسع داشته باشد و قابلیت جدیدی براحتی و بودن کمترین خللی در بقیه اجزا به سیستم اضافه شود.
بازدهی سیستم :
بخشی از بازدهی سیستم مربوط به چارچوب کاری و پلتفورم موجود است اما یک الگوی مناسب با تقسیم اجزا و ایجاد رابطه ی منطقی بین آنها می تواند در بازدهی سیستم تاثیر بسزایی داشته باشد.

ادامه دارد…

برچسب ها:
اشتراک گذاری:
بیوگرافی نویسنده BloodCyb :

سلام امیر حامدی هستم نزدیک 6 ساله تو حوزه وب و امنیت فعالیت دارم با زبان های برنامه نویسی php و c و جاوا آشنایی دارم تو حوزه امنیت اطلاعات با انواع سیستم عامل ها کار کردم به خصوص کالی لینوکس و بک ترک هم اکنون مدیر سرور شرکت ارست هاست هستم.

نظرات:

دیدگاهتان را بنویسید