MVC деген эмне? Бул программалык архитектура менен таанышыңыз!

Жөнүндө билүү MVC деген эмне? Жана программалык камсыздоонун бул жаңы түрү коддор дүйнөсүндө жана анын эң маанилүү мүнөздөмөлөрүндө революция жасагандыктан, мунун баары биз сизге төмөндө айтып беребиз.

mvc-2 деген эмне

MVC же Model View Controller, коддорду чыгаруунун жаңы жолу

MVC деген эмне?

MVC Model View Controller дегенди билдирет, анын максаты программалык камсыздоонун дизайнынын негизи болуп кызмат кылуу. Программалык камсыздоо архитектурасы бул элементтердин курулушун жеңилдетүүчү, кантип болушу керектигин көрсөтүүчү колдонмолор.

MVC, башка программалык архитектурадан айырмаланып, белгилүү бир тапшырманы аткаруу үчүн ар бир кодду ажыратат, ошентип, код бир жумушта иштелип чыгат жана ал үзгүлтүксүз жасалат.

Аны колдонууну жеңилдетүү үчүн колдонуучу интерфейсин колдонуңуз, анткени буларды түшүнүү оңой жана компьютерди Интернет колдонуучусу менен түз туташтыруу. Ошо сыяктуу эле, MVC коду ар кандай программалар же схемалар үчүн колдонулушу мүмкүн.

Аны колдонуу убактысы узун, практикалык жана өз ара аракеттенүүсү жөнөкөй, анткени ал мурункудай көп татаалдыксыз программалык камсыздоону түзүүгө умтулат. Система ар кандай коддорду колдонгон күндө да колдонот жана аларды ар бири бир гана тапшырма же түшүнүк боюнча иштей тургандай кылып ажыратат.

Жогоруда айтылгандай, бул архитектура, бирок эмне үчүн? Ооба, курулуш планы сыяктуу, ал үч башка иш планын белгилейт; модель, көрүнүш жана контролер.

Бул коддор түшүнүгүнөн бөлүнүү идеясы эски жана пайда болгон жакшы алкактардан улам күч алды. Frameworks - бул көйгөйдү чечүүнү көздөгөн программалык камсыздоонун бир түрү жана анын түзүлүшү маселенин өзүнө негизделген.

MVC деген эмне?: Моделдин тарыхы, Views & Controllers

Модель, Views & Controllers идеясы веб -баракча түзүлгөнгө чейин эле болгон деп айтылат. Бул GUIден же графикалык видео интерфейстерден келген идея болчу; GUIлер - бул колдонуучу интерфейстери менен иштөөчү инструменттер, алар визуалдык мазмунду, тутумда бар маалыматтарды чагылдырган программалык камсыздоону колдонушат.

Бул концепциясын ар кандай функцияларга бөлгөн программалык камсыздоону колдонуунун пионердик инновацияларынын бири болгон. Бул 70-жылдары түшүнүк катары башталган, кийинчерээк 80-жылдары Smalltalk-80дин версиясы ишке ашырылган.

Smalltalk-80-MCVден айырмаланып, өзүнүн түшүнүктөрүн жана функцияларын ажыратпаган активдүү программалоо тили. MCV биримдиги анын базаларын текшерип, жумушчу китепканага берилмек.

Акырында, токсонунчу жылдардын аягында, MVC Smalltalk-80ден бөлүнүп, өзүнүн концепциясы катары чыгарылган. Башында, MCV киргизүү режимине негизделген, кодду бөлүү функциясын ишке ашыра элек эң негизги программа болчу.

Бир нече айдын ичинде өнүгүү модели болгон көрүнүштү ишке ашыруу жана аны киргизүү модели менен айкалыштыруу өзгөрдү. Көп жылдар бою, бул типтеги модель учурдагы колдонмолор үчүн жетишсиз болуп калды, андыктан MVC бүгүнкү күндө белгилүү болгон түшүнүккө айланып кетти, бирок ал азыркыдай болуп калганга чейин ар кандай версиялардан өттү.

Иерархиялык Модель Көрүү Контролери (HMVC)

Бул биринчи вариациялардын бири, ал 2000 -жылдын башында пайда болгон. MVCден айырмаланып, HMCV бир аз узун процесс болуп, моделди биринчи жана аягында конфигурациялайт; Бул версия түздөн -түз кароого же берилиштерге кирүүгө мүмкүндүк бербейт.

Модель көрүнүш адаптери (MVA)

Бул MVC кандай болооруна жакын версия, ар бир тапшырманы же кодду деңгээлдер боюнча бөлүү үчүн окшош архитектурага ээ. Мурдагыдан айырмаланып, MVA ар бир тапшырманы деңгээлге чыгарат, бирок MVC сыяктуу модель менен көз караштын ортосунда эч кандай байланышка жол бербейт.

Модель көрүнүшүнүн алып баруучусу (MVP)

Model View Presenter колдонуучу менен ЖКнын ортосундагы байланыш чекиттерин иштеп чыгуу үчүн колдонулууну улантууда. Бул тесттер үчүн колдонулат, анда сервер автономдуу жоопторду берет жана модель берген маалыматтарды өзгөртөт жана көрүү үчүн кысат.

Моделди көрүү модели (MVVM)

Программалык архитектуранын бул түрү моделдин бүт түзүлүшүн ачат жана бири -бири менен байланышкан көрүнүштү толугу менен өткөрүп берүүгө жетишет. Бул жакшы визуалдык моделди иштеп чыгат жана тиркемелерде жакшы графикалык өнүгүүнү сунуштайт.

MVC эмне жакшы?

Бул курал программалык камсыздоону түзүү системасы болуп саналат, ал эң сонун сапаттагы тиркемелерди түзүү үчүн колдонулат, ошондуктан бүгүнкү күндө эң жакшы сапат жана программалоонун оңойлугу изделүүдө.

Желе жана компьютерлер жаралгандан бери программалоо жогорку бумду ээледи жана системанын инженерлери маанилүү роль ойношту, анткени алар бүткүл дүйнөдө төңкөрүш жасаган улуу тиркемелерди же программаларды иштеп чыгышкан. Ар бир программаны түзүү үчүн ылайыктуу код системасын колдонуу зарыл.

Программалоо мурун оор жана татаал нерсе болгон, бул система же колдонмо катары жаңы нерсени алып келүү үчүн көп убакыт талап кылынышы мүмкүн, бирок процессти жеңилдетүүчү кызматтар же программалар аз -аздан иштелип чыккан. Кодду бөлгөн же биригип коюуга жетишкен программалардан.

Model View Controller система инженерлери же программисттери үчүн эң сонун чечим болгон, анткени ал кодду аткарууга тийиш болгон ар бир операцияны деңгээлдер боюнча уюштурган жана экинчисине эч кандай тапшырма берилген эмес.

Программалоо процесси MVC коддорду кайра колдонууга мүмкүндүк бергендиктен, программаланган ар кандай элементте толугу менен эркин сүйлөөгө жетишүү аркылуу жеңилдетилген.

MVC программалоонун оңойлугун гана камсыз кылбастан, аны тезирээк жасоого жана сапаттуу колдонмолорго алып келүүгө мүмкүндүк берет.

Эгерде сиз бул макаланы жактырсаңыз, мен сизди окууга чакырам "Javaдагы класстар жана объекттер", Java жөнүндө түшүнүктөрдүн толук чыгармасы, сизге сөзсүз жагат.

MVC жок HTML

Бул программанын архитектурасынын түшүндүрмөсү башында бүдөмүк болушу мүмкүн, бирок алар HTML, CSS жана PHP элементтери сыяктуу нерселерди эске алышат.

Алардын ар бири баракты программалоо же дизайн үчүн колдонулат; Эң кеңири таралган HTML, башында мындай жакшы түзүлүшкө ээ болгон эмес жана программалоо учурунда эч кандай функцияларын бөлгөн эмес, натыйжада код аралашып кеткен жана бир нерсени өзгөрткүңүз келсе, бардык кодду өзгөртүүгө туура келди.

HTML көйгөйү программалоо тапшырмасын абдан түйшүктүү кылды, бирок кээ бир код жазуучулар программалоодо жоопкерчиликти бөлүү үчүн бир нерсе жаратуу идеясына ээ болушту: алар CSS тилин жаратышкан. CSS тили ар бир коддун тапшырмасын берүүгө жана дифференциациялоого мүмкүндүк берет, бүтүндөй кодду кайталоо же өзгөртүү боюнча түйшүктүү ишти жок кылат.

Спагетти коду

HTML иши, аны менен гана болбойт; Адатта, ар кандай барактарды түзүү үчүн, сиз ар кандай функцияларды аткарган коддорду бириктиресиз. Коддор биригүүгө умтулат, ошондо каалаган нерсе көрсөтүлөт, пайдалуу нерсе, бирок кээ бир коддордо кичине ката кетирүү менен бүт процессти кайталоого мажбур кылат.

Колдонулган тил бириктирилет жана программалоочуга, балким, тиешеси жок нерселерди этап -этабы менен оңдоого туура келет.

Каталардын же кырдаалдардын бардык түрлөрү тилди жөнөкөй бөлүү менен чечилет жана алардын ар бири колунда турган ишке көңүл бурат. Бөлүү каталары гана эмес, мурда чырмалышкан кодду кайра колдонууну каалаган учурда да, алсыздык.

Эгерде ошол эле код башка программага же жумушка колдонула турган болсо, анда ал өтө жай аткарылышы керек болчу, MVCдин аркасы менен бул кереги жок, анткени код кайра колдонулган жана бир заматта калыптанган нерсе.

MVC системасы мына ушундай иштейт, процесстин кантип пайда болгонун жөнөкөй түрдө чагылдыруу

Model View алып баруучусуна киришүү

Макаланын башынан бери ал кантип иштээри жана модель эмне үчүн иштээри түшүндүрүлгөн, бирок анын ар бир бөлүгүнө атайын түшүндүрмө берилген эмес: Модель, Көрүү жана Контроллер.

Үлгү

Бул биринчи деңгээл жана системага жана анын ишине тиешелүү бардык маалыматтарды табат, башкача айтканда, тутумдун мазмунун, мүмкүн болгон жаңыртууларды иштетет.

Ошондой эле системанын маалыматты визуалдаштыруу үчүн сактаганын, өзгөртүп жана өзгөрткөнүнөн турган "бизнес логикасы" бар.

Модель колдонуучуга чексиз файлдарды издөөнүн кереги жок, керектүү маалыматты колдонууга мүмкүндүк берет, алар жөн гана кирүү керек жана ал аларга "көз караш" аркылуу көрсөтүп берет. Системада же маалыматта бир нерсени өзгөртүү үчүн сиз маалыматты моделге жөнөтүүчү "контроллер" аркылуу өтүшүңүз керек.

Адатта, маалымат башка контроллерлер менен иштелип чыгат жана SQLди колдонуунун ордуна (системанын тили маалыматтарды толук көзөмөлдөө үчүн), ал түздөн -түз класстын жана объекттен турган маалыматтын башка бөлүктөрүнө бекитилет.

Көрүнүш

Көрүнүш - бул модель тарабынан жөнөтүлгөн маалымат колдонуучу үчүн оптикалык интерфейсте мазмунду көрсөтүүчү баскыч. Программанын коду иштелип чыгат жана колдонуучу интерфейстеринде чагылдырылат.

Бул элемент HTML жана PHP коддору менен иштейт, анткени алар баракты, серверди ж. Бул коддор чыгарууга жөнөтүлөт, бул модель тарабынан жөнөтүлгөн маалыматтын жалпы трансформациясы.

Контроллер

Контроллер - бул модель аркылуу жасалган колдонуучунун сурамдарына жооп берген адам. Сурамдар маалыматтын бардык түрүн түзөтүүдөн, түзүүдөн же издөөгө байланыштуу.

Бул маалымат кандайча көрсөтүлөрүн, башкача айтканда, маалымат кантип иштетилет жана "көз карашта" чагылдырылат, бул өз кезегинде моделдин маалымат берүү ыкмасын өзгөртүүгө мүмкүндүк берүүчү курал. Кыскача айтканда, контроллер модель менен көрүнүштүн ортосундагы көпүрө болуп саналат, ал суроону кабыл алат жана аны башка жол менен чагылдыруу үчүн көрүнүштү ала алат.

Контроллер - бул түзүлүп жаткан программага же түзүлүп жаткан тиркеме эмнеге муктаж экендигине жооп берген адам, анын акыркы максаты - бардык маалымат башынан баштап чыкканга чейин.

mvc деген эмне

Компоненттер кантип өз ара аракеттенишет?

Көрүнүп тургандай, ар бир компоненттин иши буйрук менен түзүлөт жана ар бири экинчисинин ишине таасир этет. Контроллер башкаларга кошулуп, иштин агымын көбөйтөт жана программаны же тиркемени түзүү үчүн берилет, бирок бул процесстин кандайча аткарыларын жакшыраак түшүндүрөт:

  1. Интернет колдонуучу колдонуучу интерфейсине кирүү үчүн башка варианттарды колдоно баштайт, башкача айтканда, ал баракчага же серверге кандайдыр бир кошумча аркылуу кирет.
  2. Сурам контролер тарабынан кабыл алынат, ал билдирүүнү көрүнүшкө жана моделге жөнөтөт. Ар бир суроо окуяны иштетүүчү аркылуу ишке ашырылат (тышкы кодго жооп берген Java же HTML коду).
  3. Суранычты аткаруу үчүн контролер моделге кирет, анда ал маалыматты колдонот жана керектүү нерсеге карата аракетти өзгөртөт. Кээ бир аракеттерди жасоо үчүн контролер ар кандай капсулаланган коддорду, кыскасы, буйрук үлгүсүн колдонушу керек.
  4.  Кээ бир учурларда, толук тапшырманы аткаруу үчүн контролер көпүрөнүн милдетин аткарып, аны көрүү үчүн жөнөтүшү керек болгон моделдин көбүрөөк маалыматын колдонот.
  5. Контроллер каалаган маалыматты элестетип турушу керек болгон бардык маалыматты жана интернет колдонуучунун берген буйругун көз алдында жөнөтөт.
  6. Көрүү, жакшы элестетүү үчүн, моделден мүмкүн болушунча көбүрөөк маалыматты колдонот жана андагы бардык нерсени чагылдырат.
  7. Бул модель эмне болуп жаткандыгы тууралуу маалыматка ээ боло албагандыктан, аны кандайдыр бир өзгөрүү жөнүндө эскерткен программалык камсыздоонун түрүн колдонот жана ушундай жол менен маалыматка же интерфейске керектүү өзгөртүүлөрдү киргизет.
  8. Интерфейс процессти Интернет колдонуучусунун кылган ар бир аракетине жараша кайталайт.

Ал веб -тиркемелерде кантип колдонулат?

MVC программасы түзүлгөндө, ал рабочий инструменттерде ишке ашат деп ойлошкон, анткени анын иштеши жана жообу дароо болот. Технологиялык жетишкендиктер программалык камсыздоону виртуалдык тиркемелерге ылайыкташтырууга мүмкүндүк берди, рабочий программалар сыяктуу алдын ала аныкталбастан жооп берүүнү башкарды.

MVC виртуалдык тилдерге ылайыкташтырылып, ар кандай деңгээлдер HTML же JavaScript жана башка тилдер менен гармонияда болушу мүмкүн. Frameworks веб үчүн өзүнүн бирин түзүп, MVC архитектурасын жараштыруу үчүн колдонулат.

Виртуалдык жооп үчүн MVC архитектурасы "кардар жана сервер" болуп саналат, бул схемада кардар суроо-талапты жасайт жана сервер суроо-талапка ылайык натыйжа же жооп берүүчү кабыл алуучу болот.

Башында, архитектуранын бул түрүн ишке ашыруу үчүн веб-иштеп чыгуу анчалык деле толук эмес болчу, ошондуктан, мамиле "жеңил кардар" структурасы үчүн болгон. Жарык кардар - бул негизги структура, анткени жооп борбордук серверде берилет жана, демек, ал бир аз кечирээк болушу мүмкүн; жооп байланышы түздөн-түз киргизүү жана чыгаруу ортосунда, эч кандай көпүрө же процесс жок.

Бул ыкма абдан жакшы иштеди, баары интернет колдонуучу шилтеме кирген учурдан тартып берилет, ошондон тартып шилтемени ишке киргизген иш контролер аркылуу өтүп, колдонуучу көрсөтүшү керек болгон сүрөттү чагылдыруу үчүн көрүүгө буйрук берет. көрүү. MVCтин үч компоненти виртуалдык серверде, ал жоопту берет.

MVC жана маалымат базалары

Технологиялык жетишкендиктер MVCдин жакшыраак иштешин жаратуучу серверлерди жана жаңы тилдерди өнүктүрүүгө мүмкүндүк берди, бул жоопту колдонуучу үчүн анча татаал жана түз болууга мүмкүндүк берет.

Тиркемелердин жакшы өнүгүшү үчүн MVCде колдоочу катары кызмат кылган маалымат базасы болушу керек. Маалыматтар базасы - бул колдонмонун бардык маалыматын башкаруу тутуму, ал моделдин тиреги болуп, аны керектүү нерселердин баарын сактоого же өзгөртүүгө жардам берет.

Көрүнүш жана контролер маалымат базасынан өзүнчө сакталат, анткени графикалык бөлүктү эң жакшы жол менен оптималдаштырууга мүмкүндүк берип, бардык маалыматка жана ар бир толуктоочуга толук визуалдык мамиле кылып, сиз тарапта иштейт.

Эгер сизге бул макала жакса, мен сизди окууга чакырам "Программалоодогу механизмдердин түрлөрү", программалардын калыптанышында анын толук маанисин түшүндүрөт, мен билем, бул сизге жагат.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Actualidad блогу
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.