MVC Vs n səviyyəli arxitektura

MVC (bir arxitektura nümunəsi olan) və n-katmanlı bir arxitektura arasında fərq nə olduğunu merak edərdim. Onu aradım amma sadə izahat tapa bilmədim. Bəlkə MVC konsepsiyaları üçün bir az mürəkkəb oldum, buna görə kimsə fərqini açıqlaya bilərsə, onda yaxşı olar.

sevindirir

133
30 марта '09 в 20:36 2009-03-30 20:36 Arnkrishn 30 Mart 'da 20:36' də təyin olundu, 2009-03-30 20:36
@ 13 cavab

N-qatlı memarlıq tipik olaraq hər bir qat bir şəbəkə ilə ayrılır. İ.E. Təqdimat qatı bəzi web serverlərindədir və sonra iş serverinin serverlərindən biznes mantığına daxil olur və daha sonra şəbəkə üzərində verilənlər bazası serverindən danışır və bəlkə də ərizə server bəzi uzaq xidmətlərə də (məsələn, Ödəniş emal üçün Authorize.net).

MVC kodun müxtəlif hissələrində bəzi tətbiqlərdə model, görünüş və nəzarətçi təmsil etməkdən məsul olan bir proqramlaşdırma dizayn nümunəsidir. Bu iki şey bir-birinə bağlıdır, məsələn, bir model qatının məlumatların saxlanması və alınması üçün verilənlər bazasını çağırır bir daxili tətbiq ola bilər. Nəzarətçi bir web serverdə yerləşəcək və məlumatları əldə etmək üçün tətbiq xidmətlərinə uzaqdan daxil ola bilər. MVC tətbiqi memarlıq tətbiqinin təfərrüatlarını özündə əks etdirir.

N səviyyədə sadəcə tətbiqin fiziki strukturuna istinad edilir. Bu ikisi bəzən səhvdir, çünki MVC layihəsi tez-tez N səviyyəli arxitekturadan istifadə olunur.

84
30 марта '09 в 20:42 2009-03-30 20:42 Cavab 30 mart 'da 09: 30'da Zak'ta verilir. 2009-03-30 20:42

Üç qatlı dizayn bu olarsa:

 Client <-> Middle <-> Data 

MVC-patter olacaq:

  Middle ^ | | v Client <- Data 
border=0

Qiymət:

  • üç səviyyəli ekvivalentində, qat arasında olan əlaqə bidirektdir və həmişə orta səviyyədə keçir
  • MVC ekvivalentində mesaj birbaşa istiqamətdədir; demək olar ki, hər bir "qat" solda güncəlləşir və öz növbəsində onu "sol" və "sağ" sadəcə təsvir edildiyi yerdə düzəldir.

PS Müştərisi, Orta və İdarəetmə Mərkəzini görəcək

38
14 июля '10 в 18:50 2010-07-14 18:50 cavab iyulun 14-də, '10 'saat 18: 50-da sona çatdı 2010-07-14 18:50

Bu nədir n səviyyəli arxitektura haqqında danışıqlar aparır

İlk baxışdan, üç səviyyə MVC (Model View Controller) kimi görünə bilər; Lakin, topoloji cəhətdən fərqlidirlər. Üç səviyyəli arxitekturada əsas qayda müştəri qatının məlumat səviyyəsinə birbaşa asılı olmamasıdır; üç qatlı bir modeldə bütün ünsiyyət orta səviyyədə keçməlidir. Konseptual olaraq, üç səviyyəli memarlıq xətti. Lakin, MVC üçbucağının arxitekturası: görünüşü nəzarətçiyə yeniləyir, nəzarətçiyə yeniləyir. Model və görünüş birbaşa Modeldən yenilənir.

30
04 янв. Cavab Xinus 04 Yanvar verilir 2010-01-04 18:19 '10 'da 18:19' da 2010-01-04 18:19

Yalnız oxşarlıq iki şablonun diaqramlarında üç pəncərənin olmasıdır. Əslində, onlar öz məqsədlərində tamamilə fərqlidirlər. Bu bir həqiqətdirsə, şablondan istifadə etmək arasında seçim yoxdur, lakin hər iki şablon birgə istifadə edilə bilər. Burada iki yaxşı bir müqayisə: http://allthingscs.blogspot.com/2011/03/mvc-vs-3-tier-pattern.html

16
23 марта '11 в 20:17 2011-03-23 20:17 Cavab allthingsc tərəfindən verilir 23 Mart '11, 20:17 2011-03-23 ​​20:17

@Cherry Orta element MVC modelində istək işləyicisi və ya bir redirector kimi daha çox işləyir.

MVC haqqında bir az danışmaq istərdim, mənə görə Model View Controller belə çalışır.

  • Müştəri hər hansı bir xidmət tələb etməklə bir iclas başlatır.
  • Bu tələb nəzarətçi tərəfindən qəbul edilir və işlənir (sorğu işləyicisi, redirector və s.).
  • Nəzarətçi əsas məlumatı tələblə işləyir və onu məlumat tələbini doldura bilən müvafiq modelə istiqamətləndirir.
  • Model, nəzarətçi tərəfindən ötürülən parametrlərə uyğun olaraq bir sorğu dolduracaq və nəticələri nəzarətçiyə göndərir. (Qeyd: Verilən məlumatların doğru MVC arxitekturasında müştəriyə birbaşa qaytarılmadığını, amma doldurduğunu və nəzarətçiyə qaytarıldığını dilə gətirirəm.)
  • Denetleyici, bu məlumatları View (Müştəri) 'ye göndərmədən çox.
  • Müştərinin qarşısında tələb olunan xidməti var.

MVC haqqında bildiyim hər şey nədir.

5
16 нояб. Cavab Aqeel Ahmad tərəfindən verilmişdir 16 noyabr. 2010-11-16 09:33 '10 at 9:33 2010-11-16 09:33

Özünüzü bir ara verin. Həqiqi problemləri həll edərkən özünüzü müəyyən nümunələrlə məhdudlaşdırmayın. Bəzi ümumi prinsipləri xatırlayın, onlardan biri DEPT.

4
18 дек. Cavab smwikipedia 18 dec verir. 2014-12-18 12:33 '14 at 12:33 2014-12-18 12:33

Doğrusallığa əlavə olaraq, burada yetərincə vurğulanmayan bir əhəmiyyətli fərq N-səviyyəli modeldə, N mütləq 3 səviyyədə deyil! Orta səviyyədə iki alt addım (biznes məntiqi və məlumat əldə edilməsi) olan üç səviyyədə (təqdimat, ərizə, məlumat) ən çox vaxt aparılır. Bundan əlavə, MVC modeli məlumatların idarə edilməsi üçün həm məlumatları, həm də biznes məntiqini, n səviyyəsində isə müxtəlif səviyyələrdə olacaqdır.

4
18 июля '11 в 21:47 2011-07-18 21:47 cavab 18 iyul 2011-ci il tarixində saat 21: 00 -da verildi

Üç səviyyəli arxitekturada əsas qayda müştəri qatının məlumat qatı ilə birbaşa əlaqələndirilməməsi; üç səviyyəli modeldə bütün kommunikasiyalar orta səviyyədə keçməlidir.

Laynerin arxitekturası. Bu, istifadəçi ilə verilənlər bazası arasında məlumatın ötürülməsi məsələsinə aiddir. MVC üçbucaqlı bir arxitektur olduğu yer: View, nəzarətçiyə yenilikləri göndərir, nəzarətçi modeli yeniləyir və görünüş birbaşa modeldən yenilənir. Bu, istifadəçi interfeyinin ekrandakı komponentləri necə idarə etdiyinə dair suallara aiddir.

4
16 февр. Cavab verilir pooja gupta 16 fevral. 2010-02-16 13:10 '10 at 13:10 2010-02-16 13:10

N səviyyəli arxitektura bir yerləşdirmə diagramı ilə ən yaxşı şəkildə müəyyənləşdirilir.

MVC arxitekturası ardıcıllıqlı diaqramdan istifadə edərək ən yaxşı şəkildə müəyyən edilir.

2 eyni deyil və bir-birinə bağlı deyil və iki mimariyi birlikdə birləşdirə bilərsiniz. Bir çox şirkət yalnız yerləşdirmə və ölçeklenebilirlik üçün deyil, həm də kodu yenidən istifadə üçün N Tier'd memarlıq yaratmaq üçün addımlar atmışdır.

Məsələn, Business Entity obyektləriniz bir masaüstü proqramı, bir müştəri üçün verilmiş bir web xidməti, veb tətbiqi və ya mobil tətbiq tərəfindən istifadə üçün tələb oluna bilər. Sadəcə MVC yanaşmasını istifadə edərək heç bir şey istifadə etməyəcəksiniz.

3
28 дек. Cavab Ed DeGagne tərəfindən verilir. 2010-12-28 19:20 '11 at 19:20 2010-12-28 19:20

Nəticə: N-səviyyə memarlıqdır, MVC bir dizayn nümunəsidir. Onlar iki fərqli sahələrdə istifadə edilən eyni metafondur.

3
29 дек. Cavab ychaouche 29 dekabr verilir. 2010-12-29 11:51 '11 at 11:51 2010-12-29 11:51

Jerry: Burada bunların necə olduğu ilə bağlı sadə bir nümunə var:


Səviyyə 1 . Layı 2 ilə əlaqəli olan bir sıra şəbəkə xidməti və ya oxşar nəzarətçi vasitəsi ilə qarşılıqlı olan modelləri daxil edir, giriş doğrulaması, hesablama və baxışlarla bağlı digər məsələlər. Və əlbəttə ki, fikirlər özlərini ehtiva edir - masa üstü ərizəsində bir GUI və ya bir web tətbiqində bir web interface ola bilər.


Səviyyə 2 Səviyyə 1-dən bir növ xidmət və ya mesaj qəbul etmək üçün başqa bir yol var. Səviyyə 1-dən xəbərdar edilməməlidir / olmamalıdır, buna görə də yalnız yuxarıdakı çağırışlara cavab verə bilər - heç bir şeyi özü ilə heç vaxt soruşma. Həmçinin bütün biznes məntiqini ehtiva edir.


Səviyyə 3 Bir domen modeli, bir verilənlər bazası obyekti görünüşü və verilənlər bazası qeydlərinin əlaqələndirilməsi və yenilənməsi üçün bütün məntiqdir.

1
14 сент. Cavab Arve Systad 14 sep tərəfindən verilir . 2009-09-14 17:29 '09 at 17:29 2009-09-14 17:29

Üç səviyyəli modeldə, bütün mesajlar orta səviyyədə keçməlidir. Konseptual olaraq, üç səviyyəli memarlıq xətti. Lakin, MVC-architecture [model-view-controller] üçbucaqlı bir forma malikdir: görünüş nəzarətçiyə yenilikləri göndərir, nəzarətçi modeli yeniləyir və görünüş birbaşa modeldən yenilənir.

0
26 мая '16 в 13:29 2016-05-26 13:29 cavab xassan ketabi 26 may, 16:16 saat 13:29, 2016-05-26 13:29 verilir

Sadəcə qoyun; MVC aşağıdakı kimi bölünür: M (odel) = verilənlər bazası sorguları, V (iew) = html / css / js / (php (proqramlaşdırma dili kodu ola bilər) ola bilər, lakin pis bir fikir olacaq) C (ontroller) = php sinifləri və funksiyaları. N səviyyəsində tətbiqlərin müxtəlif serverlərdə yerləşdirildiyi və yerləşdirildiyi (yəni, bir serverda video, serverdə iki musiqi, server x-də tələblər və s.) Yerləşdirilir. Buna görə, saytınız bir .com domainində ola bilər və videolarınız (domain back) niamod.com. MVC haqqında daha ətraflı öyrənmək üçün CodeIgniter-ə baxın (öyrənmək asan / maraqlıdır).

-3
16 дек. prog_boy tərəfindən verilmiş cavab 16 dekabr. 2010-12-16 02:41 '10 at 2:41 2010-12-16 02:41