Model–view–controller
Model–view–controller (MVC, «մոդել-տեսք-կառավարիչ»)՝ ծրագրային նախագծման ձևանմուշ է, որի նպատակն է մշակել ծրագրեր, որոնք պարունակում են օգտագործողի ինտերֆեյս (անգլ.՝ UI)։ Նրա նպատակն է ծրագիրը բաժանել 3 մասի, որը կապահովի տվյալների մշակման անկախությունը օգտագործողի ինտերֆեյսից[1][2]։
Նկարագրություն
[խմբագրել | խմբագրել կոդը]![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/MVC-Process.svg/200px-MVC-Process.svg.png)
Ինչպես և բոլոր նախագծման ձևանմուշները՝ MVC-ն ներկայացնում է միայն խնդրի լուծման սկզբունքը, իսկ արդեն յուրաքանչյուր կոնկրետ խնդրի լուծուման համար կարող են կիրառվել MVC-ի ձևափոխված տարբերակներ։ MVC ճարտարապետությամբ համակարգերը նաև հեշտ է թեստավորել։ Քանի որ համակարգի ամբողջ բիզնես տրամաբանությունը գտնվում է Մոդելների մեջ, նրանց հեշտ է վերագործարկել և ստուգել նրանց աշխատանքը թեստային ծրագրում։
Բաղկացուցիչ մասեր
[խմբագրել | խմբագրել կոդը]- Մոդել (անգլ.՝ Model) - ապահովում է ծրագրի աշխատանքը տվյալների հետ, բիզնես տրամաբանությունը
- Տեսք/Ներկայացում (անգլ.՝ View) - պատասխանատու է ծրագրի արտաքին տեսքի կառուցման համար, որի հետ աշխատում է օգտագործողը
- Կառավարիչ (անգլ.՝ Controller) - ապահովում է կապը Մոդելի և Տեսքի միջև
Աշխատանք
[խմբագրել | խմբագրել կոդը]- Կառավարիչը (անգլ.՝ Controller) ստանում է հրահանգը սովորաբար Տեսքից, որոշում է որ Մոդելին կանչի հրամանը մշակելու համար, Մոդելի աշխատանքից հետո կանչում է համապատասխան Տեսքը, փոխանցելով նրան Մոդելը։
- Մոդել տրամադրում է մեթոդներ տվյալների հետ աշխատանքի համար։ Նրա որոշակի մեթոդի կանչի դեպքում այն կարող է տվյալներ ներմուծել կամ ստանալ օրինակ՝ տվյալների բազայից կամ կատարել ավելի բարդ գործողություններ տվյալների հետ։
- Տեսքը ստանում է համապատասխան Մոդելը, որի տվյալների հիման վրա կառուցում է օգտագործողի ինտերֆեյսը։
Օգտագործումը Վեբ համակարգերում
[խմբագրել | խմբագրել կոդը]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-ների, ինչպես նաև բջջային հավելվածների համար։
Ծանոթագրություններ
[խմբագրել | խմբագրել կոդը]- ↑ "More deeply, the framework exists to separate the representation of information from user interaction." The DCI Architecture: A New Vision of Object-Oriented Programming - Trygve Reenskaug and James Coplien - March 20, 2009.
- ↑ Burbeck (1992): "... the user input, the modeling of the external world, and the visual feedback to the user are explicitly separated and handled by three types of object."
![]() | Վիքիպահեստն ունի նյութեր, որոնք վերաբերում են «Model–view–controller» հոդվածին։ |
|