Model–view–controller
From Wikipedia, the free encyclopedia
Remove ads
Model–view–controller (MVC, «մոդել-տեսք-կառավարիչ»)՝ ծրագրային նախագծման ձևանմուշ է, որի նպատակն է մշակել ծրագրեր, որոնք պարունակում են օգտագործողի ինտերֆեյս (անգլ.՝ UI)։ Նրա նպատակն է ծրագիրը բաժանել 3 մասի, որը կապահովի տվյալների մշակման անկախությունը օգտագործողի ինտերֆեյսից[1][2]։
Նկարագրություն

Ինչպես և բոլոր նախագծման ձևանմուշները՝ MVC-ն ներկայացնում է միայն խնդրի լուծման սկզբունքը, իսկ արդեն յուրաքանչյուր կոնկրետ խնդրի լուծուման համար կարող են կիրառվել MVC-ի ձևափոխված տարբերակներ։ MVC ճարտարապետությամբ համակարգերը նաև հեշտ է թեստավորել։ Քանի որ համակարգի ամբողջ բիզնես տրամաբանությունը գտնվում է Մոդելների մեջ, նրանց հեշտ է վերագործարկել և ստուգել նրանց աշխատանքը թեստային ծրագրում։
Բաղկացուցիչ մասեր
Աշխատանք
- Կառավարիչը (անգլ.՝ Controller) ստանում է հրահանգը սովորաբար Տեսքից, որոշում է որ Մոդելին կանչի հրամանը մշակելու համար, Մոդելի աշխատանքից հետո կանչում է համապատասխան Տեսքը, փոխանցելով նրան Մոդելը։
- Մոդել տրամադրում է մեթոդներ տվյալների հետ աշխատանքի համար։ Նրա որոշակի մեթոդի կանչի դեպքում այն կարող է տվյալներ ներմուծել կամ ստանալ օրինակ՝ տվյալների բազայից կամ կատարել ավելի բարդ գործողություններ տվյալների հետ։
- Տեսքը ստանում է համապատասխան Մոդելը, որի տվյալների հիման վրա կառուցում է օգտագործողի ինտերֆեյսը։
Remove ads
Օգտագործումը Վեբ համակարգերում
MVC-ն լայն կիրառություն ունի Վեբ համակարգերի ստեղծման մեջ։ Գոյություն ունեն բազմաթիվ framework-ներ MVC կառուցվածքով ինչպիսիք են՝ Laravel, Codeigniter և այլն։ Նախկինում MVC-ն կիրառվում էր միայն backend-ում իսկ Տեսքը (անգլ.՝ View) հանդես էր գալիս հասարակ HTML էջերի տեսքով։ Այժմ MVC-ն լայն տարածում է գտել նաև frontend-ում ի շնորհիվ այնպիսի frontend framework-ների ինչպիսին են՝ AngularJs, ReactJS և այլն։ Վերոհիշյալ կառուցվածքներում հիմնականում backend-ը վերադարձնում է տվյալները JSON տեսքով HTML-ի փոխարեն։ Frontend-ը ինիցիալիզացնում է իր սեփական MVC-ի Մոդելը backend-ից ստացված տվյալներով և շնորհիվ իր սեփական MVC-ի ծրագրի բիզնես տրամաբանության մի մեծ մաս վերցնում է իր վրա՝ բեռնաթափելով backend-ը։ Վերոհիշյալ կառուցվածքում ըստ էության backend-ը վեր է ածվում API տրամադրող ծառայության, որը կարող է վերաօգտագործվել նաև այլ frontend-ների, ինչպես նաև բջջային հավելվածների համար։
Remove ads
Ծանոթագրություններ
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads