Model–view–controller

From Wikipedia, the free encyclopedia

Remove ads

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

Նկարագրություն

Thumb
A typical collaboration of the MVC components.

Ինչպես և բոլոր նախագծման ձևանմուշները՝ MVC-ն ներկայացնում է միայն խնդրի լուծման սկզբունքը, իսկ արդեն յուրաքանչյուր կոնկրետ խնդրի լուծուման համար կարող են կիրառվել MVC-ի ձևափոխված տարբերակներ։ MVC ճարտարապետությամբ համակարգերը նաև հեշտ է թեստավորել։ Քանի որ համակարգի ամբողջ բիզնես տրամաբանությունը գտնվում է Մոդելների մեջ, նրանց հեշտ է վերագործարկել և ստուգել նրանց աշխատանքը թեստային ծրագրում։

Բաղկացուցիչ մասեր

  • Մոդել (անգլ.՝ Model) - ապահովում է ծրագրի աշխատանքը տվյալների հետ, բիզնես տրամաբանությունը
  • Տեսք/Ներկայացում (անգլ.՝ View) - պատասխանատու է ծրագրի արտաքին տեսքի կառուցման համար, որի հետ աշխատում է օգտագործողը
  • Կառավարիչ (անգլ.՝ Controller) - ապահովում է կապը Մոդելի և Տեսքի միջև

Աշխատանք

  • Կառավարիչը (անգլ.՝ 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

Ծանոթագրություններ

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads