وبگاه شخصی سعید صفایی

این وبلاگ جهت ارتباط با سایر دوستان و همکاران می باشد

وبگاه شخصی سعید صفایی

این وبلاگ جهت ارتباط با سایر دوستان و همکاران می باشد

مشخصات بلاگ

این وبلاگ جهت ارتباط با سایر دوستان و همکاران می باشد

بایگانی
آخرین مطالب
آشنائی با ASP.NET
وب یکی از مهمترین و در عین حال جوان ترین سرویس های اینترنت است که در مدت زمانی کوتاه توانسته است در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده ای در حیات بشریت باشد. در گذشته از وب صرفا" به منظور عرضه اطلاعات استفاده می گردید و کاربران از آن به عنوان یک کنابخانه الکترونیکی بزرگ و در جهت یافتن اطلاعات مورد نیاز خود استفاده می کردند. وضعیت فعلی وب نسبت به گذشته دستخوش تحولات فراوانی شده است و هم اینک از آن به عنوان بستر ارتباطات ، مبادله اطلاعات ، عملیات تراکنشی نظیر فعالیت های تجاری ، اجتماعی ، سیاسی ، آموزشی و فرهنگی استفاده می گردد .
نرم افزار و دنیای برنامه نویسی یکی ازعرصه هائی است که بدون شک بیشترین تاثیر را از اینترنت پذیرا بوده است ( پرداختن به مقوله تاثیر اینترنت بر دنیای برنامه نویسی و یا تاثیر نرم افزار بر اینترنت خارج از حوصله این مقاله است ). شرکت های عظیم نرم افزاری با لحاط نمودن جایگاه برجسته اینترنت ، اقدام به ارائه تکنولوژی ها و معماری های متفاوتی در جهت طراحی و پیاده سازی برنامه های کامپیوتری با بهره گیری از زیرساخت اینترنت نموده اند .
● ASP.NET : گزینه ای برای طراحی و پیاده سازی برنامه ها و سرویس های وب
به منظور پاسخ به خیل عظیم نیازهای موجود با توجه به تسهیلات ارائه شده توسط اینترنت ، نسل جدیدی از برنامه های کامپیوتری با نام "برنامه های وب " مطرح و در این رابطه تاکنون تکنولوژی های متفاوتی توسط شرکت های عظیم نرم افزاری ارائه شده است . ASP.NET یکی از تکنولوژی های موجود در این زمینه است . در واقع ، ASP.NET فریمورک برنامه نویسی شرکت مایکروسافت برای طراحی و پیاده سازی برنامه ها و سرویس های وب است که خود بخشی از پلت فرم دات نت محسوب می گردد . ASP.NET با دارا بودن مجموعه ای گسترده از اشیاء که دارای اینترفیس های ساده برنامه نویسی می باشند و بهره گیری از یک محیط ترجمه شده شی گراء ، امکان پردازش های ساده تا پیچیده را با حداقل کد ممکن فراهم می نماید.
  • سعید صفایی
درباره MVC
یک روش مدرن و به روز برای معماری نرم افزار است. در این نوشته قصد دارم در حد دانش خودم درباره الگوی معماری نرم افزار به روش MVC توضیح بدهم و در ادامه اشاره ای به ASP.net MVC خواهم داشت.

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

MVC نرم افزار را به سه قسمت Model و View و Controller تقسیم می کند. که هر کدام از این سه قسمت وظیفه خاصی را در چرخه حیات نرم افزار بازی می کنند.
[تصویر:  MVC.jpg]

اگر به برنامه نویسی علاقمند هستید لطفا تا پایان این نوشته همراه من باشید.

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

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

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

MVC توسعه نرم افزار را تبدیل به گلابی یا هولو می کند.
MVC پروسه Unit testing را بسیار راحت می کند.
MVC کار گروهی همزمان را برای تیم طراح و برنامه نویس آسان می کند.
MVC با جدا سازی Logic از View و قرار دادن آن در Controller خوانایی کدها را بسیار بالا می برد.
و مهم تر از همه اینکه MVC به شکل شگفت انگیزی حجم کد نویسی را کاهش می دهد.

MVC در هر زبان برنامه نویسی قابل پیاده سازیست. حتی در جاوا اسکریپت. اما در حال حاضر از این روش بیشتر برای زبان های سمت سرور مثل PHP و ASP.net استفاده می شود و در کل MVC یک روش بسیار کارا برای تیم های بزرگ تر است. هرچه تیم بزرگتری داشته باشید مزایای این الگو برای شما بیشتر ملموس خواهد بود. همچنین به تجربه می گویم MVC برای پیاده سازی پروژه های کوچک توصیه نمیشود و من استفاده از این روش در پروژه های کوچک را به استفاده از پتک برای کشتن پشه تشبیه می کنم.
  • سعید صفایی