لازم مي دونم قبل از خواندن ترجمه من اين توضيحاتي را كه از جستجو در اينترنت پيدا كردم مطالعه كنيد تا آمادگي قبلي براي درك مفهوم MVC داشته باشيد چون بي شك ترجمه من خيلي پيچيده تر از اين توضيحات اجمالي هست . موفق باشيد .
ابتدا دانلود مقاله مفيد از همين سايت
در مرحله بعد خواندن متن زير كه از اين سايت برداشتمش:
طراحان نرم افزار هنگام معماری سیستم های نرم افزاری الگوهای مختلفی را برای پیاده سازی ساختار نرم افزار در پیش می گیرند. یکی از این الگوهای معماری نرم افزار MVC یا Model View Controller نام دارد.
MVC نرم افزار را به سه قسمت Model و View و Controller تقسیم می کند. که هر کدام از این سه قسمت وظیفه خاصی را در چرخه حیات نرم افزار بازی می کنند.
- 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 برای پیاده سازی پروژه های کوچک توصیه نمیشود و من استفاده از این روش در پروژه های کوچک را به استفاده از پتک برای کشتن پشه تشبیه می کنم.
------------------------------------------------------------------------------------------------------------------------
سلام ترجمه بهتر از ترجمه گوگل از Model/View Programming
Qt 4 يك مجموعه جديد از كلاس هاي نمايش آيتم معرفي مي كند يك معماري model/view به مديريت رابط بين داده ها را به كاربر ارائه ميدهد. اين جدايي بين قابليت ها معرفي شده توسط اين معماري به توسعه دهنگان براي سفارشي كردن آيتم ها و فراهم كردن يك استاندارد رابط مدل كه اجازه مي دهد طيف وسيعي از منابع داده به كاربرده شده به معرض مشاهده در آيد انعطاف پذيري بيشتري مي دهد. در اين سند ما يك مختصر توضيح درباره نمونه اي از model/view مي گيريم. به طور كلي اين مفاهيم درگير و توضيح اين معماري سيستم نمايش آيتم هر اجزايي در اين معماري توضيح داده شده و مثال هايي هستند كه نشان مي دهد چطور كلاس هاي ارائه شده را به كار ببريم.
معماري model/view
model/view/controller(MVC) يك الگوي طراحي نشات گرفته از Smalltalk كه غالبا در ساختمان رابط كاربري استفاده مي شود. در الگوهاي طراحي گاما و همكاران.نوشته :
MVC شامل سه نوع از اشياع است. Model شي اپليكيشن، view ارائه صفحه نمايش هست، و تعريف كنترلر كه راهي است كه رابط كاربري به ورودي كاربر واكنش نشان دهد. طرح هاي رابط كابري تمايل به داشتن توده اين شي ها با هم دارد. MVC تنها به آنها انعطاف پذيري بيشتر و استفاده مجدد مي دهد.
آن جملاتي را كه فكر مي كنيد اشتباه ترجمه كردم لطفا درست ترجمه كنيد و از طريق پيام خصوصي براي من ارسال كنيد تا مطلب را ويرايش كنم. ممنون