MVC pattern nədir?

Posted on 2021-07-15 02:23:51

Loru dilində izah.

Salam.

Bu məqalədə çalışacam qısaca MVC patternin nə olduğunu izah edim. Ümumiyyətlə MVC qısaltmadır və tam formada Model View Controller olacaq.

Qısa desəm Model verilənlər bazasının adamıdır, View ictimayətə məlumatı təqdim edəndir. Controller də Modelnən Viewnun arasında əlaqə yaradır.
Bu məqaləni yazmaqda məqsədim Laravel dərslərinə başlayanların, MVC patternini anlamasıdır. Elə ona görə də əsas misalları çalışacam oradan gətirim. Amma əgər proqramlaşdırmanı qoysaq qırağa və ağır bir misal həyatdan gətirsək restoranı təsəvvür edə bilərsiniz.

Restoran misalını gətirərkən nəzərdə tutduğum Model — Aşbazımız, Controller — ofisiantımız (google translate garson deyərək tərcümə etdi, fikirləşdim elə ofisiant yazsam yaxşıdır.), View — bizim stoldur, saytdan istifadə edən də restoranımıza gələn müştəri.

İndi sizə ssenarini yazıram.

Müştəri gəlir restorana, yemək sifariş edir, ofisiant sifarişi götürür, ofisiant aşbaza sifarişi deyir, aşbaz bişirir və sifarişi ofisianta ötürür, ofisiant gətirir, stolun üzərinə yığır.

İndi başqa ssenari yazıram.

İstifadəçi brauzeri açır, sayta müraciət edir, controller ilkin səhifəni görsətmək üçün Modelə müraciət edir, model ona məlumat təqdim edir. Controller məlumatı alıb ötürür View-ya. Beləliklə istifadəçi saytımızda yeməkləri… yox məlumatları görür.

Əlbəttə başqa bir misalda gətirə bilərəm yada siz deyəsiz ki, statik səhifələrdə heç Model istifadə olunmur. Bəli Controller Viewya yəni statik səhifəyə məlumat ötürməyə də bilər. Bunu da belə təsəvvür edin ki, restorana gələn müştəri sadəcə su istədi. Ofisiant aşbaza demədən, özü suyu gətirib stolun üstünə qoydu.

Çalışdım sxematik də təqdim edim:

Bu arada routerlərin də rolu olur. Onu da istəsəniz ayrıca izah edərik. Loru dildə qısa kobud bir izahı gördünüz. Ümid edirəm məntiq aydın oldu.

Sağolun.

İanə: https://aytiqaqash.com/donate

Youtube: https://www.youtube.com/c/AyTiQaqa%C5%9F
Facebook Qrup: https://www.facebook.com/groups/aytiqaqash
Facebook Səhifə: https://www.facebook.com/aytiqaqash
Telegram Qrup: https://t.me/aytiqaqashlar
Telegram Kanal: https://t.me/aytiqaqash
İnstagram: https://www.instagram.com/aytiqaqash/
Twitter: https://twitter.com/aytiqaqash