MVC ArchiÖrneklerle Mimari ve Çerçeve

⚡ Akıllı Özet

Model-View-Controller (MVC), bir uygulamayı üç bileşene (Model, Görünüm ve Denetleyici) ayıran, iş mantığını sunum katmanından izole eden ve Spring, Django ve Laravel gibi çerçeveler kullanarak bakımı kolay, test edilebilir web ve masaüstü uygulamaları oluşturmayı sağlayan bir mimari kalıptır.

  • 🧱 Üç Bileşen: MVC, bir uygulamayı Model (veri), Görünüm (sunum) ve Denetleyici (kullanıcı etkileşimi) olmak üzere üç bölüme ayırır.
  • 🗄️ Model: Görünümden gelen isteklere ve Denetleyiciden gelen talimatlara yanıt vererek verileri ve iş mantığını depolar.
  • 🖼️ Görünüm: Kullanıcıya metin kutuları, açılır menüler, grafikler ve tablolar gibi kullanıcı arayüzü öğeleri aracılığıyla veri sunar.
  • 🎮 denetleyici: Kullanıcı girdisini yorumlar ve buna göre Model ve Görünümü günceller.
  • ⚙️ Popüler Çerçeveler: Spring MVC, Django, Ruby on Rails, CakePHP, Laravel ve CodeIgniter, MVC tasarım modelini uygular.
  • 🇧🇷 Avantajlar ve Dezavantajlar: MVC, test edilebilirliği ve paralel geliştirmeyi iyileştirir ancak bazı kısıtlamalar getirir.tracKatman sayısı ve gezinme karmaşıklığı.

MVC ArchiYapı ve Çerçeve

MVC Çerçevesi nedir?

MKS Model Görünümü Denetleyicisi (MVC) framework, bir uygulamayı üç ana mantıksal bileşene ayıran bir mimari desendir: Model, Görünüm ve Denetleyici. Bu nedenle kısaltması MVC'dir. Her mimari bileşen, bir uygulamanın belirli geliştirme yönlerini ele almak için oluşturulmuştur. MVC, iş mantığını ve sunum katmanını birbirinden ayırır. Geleneksel olarak masaüstü grafik kullanıcı arayüzleri (GUI'ler) için kullanılırdı. Günümüzde, web teknolojisindeki MVC mimarisi, web uygulamalarının yanı sıra mobil uygulamalar tasarlamak için de popüler hale geldi.

MVC'nin Tarihçesi

  • MVC mimarisi ilk olarak 1979 yılında Trygve Reenskaug tarafından tartışıldı
  • MVC modeli ilk olarak 1987 yılında Smalltalk programlama dilinde tanıtıldı.
  • MVC ilk kez 1988 tarihli bir makalede genel bir kavram olarak kabul edildi.
  • Son zamanlarda MVC modeli modern web uygulamalarında yaygın olarak kullanılmaktadır.

MVC'nin Özellikleri

  • Kolay ve sürtünmesiz test edilebilirlik. Son derece test edilebilir, genişletilebilir ve takılabilir çerçeve
  • MVC modelini kullanarak bir web uygulaması mimarisi tasarlamak, HTML'nizin yanı sıra diğer bileşenleriniz üzerinde de tam kontrol sağlar. URLs
  • ASP.NET, JSP, Django vb. tarafından sağlanan mevcut özelliklerden yararlanın.
  • Mantığın net bir şekilde ayrılması: Model, Görünüm, Denetleyici. Uygulama görevlerinin ayrılması, yani iş mantığı, Ul mantığı ve giriş mantığı
  • URL SEO Dostu Yönlendirme URLs. Güçlü URL-haritaping anlaşılabilir ve aranabilir için URLs
  • Test Odaklı Geliştirme Destekleri (TDD)

MVC Archidoku

Faydaları artık netleştiğine göre, işte MVC çerçevesinin detaylı mimarisi:

MVC Archidoku
MVC Archidoku şeması

Üç önemli MVC bileşeni şunlardır:

  • Model: Tüm verileri ve ilgili mantığını içerir.
  • Görünüm: Verileri kullanıcıya sunar veya kullanıcı etkileşimini yönetir
  • Denetleyici: Model ve Görünüm bileşenleri arasında bir arayüz

Şimdi bu bileşenlerin her birini ayrıntılı olarak inceleyelim:

Görüntüle

Görünüm, uygulamanın veri sunumunu temsil eden kısmıdır.

Görünümler, model verilerinden toplanan verilerle oluşturulur. Bir görünüm, kullanıcıya çıktı sunumunu gösterebilmek için modelden bilgi ister.

Görünüm ayrıca grafikler, diyagramlar ve tablolardaki verileri de temsil eder. Örneğin, herhangi bir müşteri görünümü metin kutuları, açılır menüler vb. gibi tüm kullanıcı arayüzü bileşenlerini içerecektir.

kontrolör

Denetleyici (Controller), uygulamanın kullanıcı etkileşimini yöneten bölümüdür. Denetleyici, kullanıcının fare ve klavye girişlerini yorumlar ve model ile görünümün gerektiği gibi değişmesi için bilgi verir.

Bir denetleyici, modelin durumunu güncellemek için modele komutlar gönderir (Örneğin, belirli bir belgeyi kaydetmek). Denetleyici ayrıca, ilişkili görünümün sunumunu değiştirmek için görünüme komutlar gönderir (Örneğin, belirli bir belgeyi kaydırmak).

Model

Model bileşeni verileri ve onunla ilgili mantığı saklar. Denetleyici bileşenleri veya herhangi bir ilgili iş mantığı arasında aktarılan verileri temsil eder. Örneğin, bir Controller nesnesi müşteri bilgilerini veritabanından alacaktır. Verileri işler ve veritabanına geri gönderir veya aynı verileri oluşturmak için kullanır.

Görünümlerden gelen isteklere yanıt verir ve ayrıca denetleyiciden gelen talimatlara uyarak kendini günceller. Ayrıca, verilerin korunmasından sorumlu olan kalıbın en alt seviyesidir.

MVC Örnekleri

Günlük hayattan Model View Controller örneğini görelim:

Örnek 1

MVC Örnekleri

  • Bir restorana gittiğinizi varsayalım. Evinizde mutlaka yapabileceğiniz yemekleri mutfağa gidip hazırlamayacaksınız. Bunun yerine oraya gidip garsonun gelmesini beklersiniz.
  • Şimdi garson yanınıza geliyor ve siz yemeği sipariş ediyorsunuz. Garson sizin kim olduğunuzu ve ne istediğinizi bilmiyor, sadece yemek siparişinizin detaylarını yazmış.
  • Daha sonra garson mutfağa gider. Mutfakta garson yemeğinizi hazırlamıyor.
  • Aşçı yemeğinizi hazırlar. Garson siparişinizi masa numaranızla birlikte ona verir.
  • Pişirin ve sizin için yemek hazırlayın. Yemeği pişirmek için malzemeleri kullanır. Siparişinizin sebzeli sandviç olduğunu varsayalım. Daha sonra buzdolabından temin ettiği ekmek, domates, patates, biber, soğan, lokma, peynir vb.
  • Yemeği son olarak garsona teslim edin. Artık bu yemeği mutfağın dışına taşımak garsonun görevi.
  • Artık garson hangi yemeği sipariş ettiğinizi ve bunların nasıl servis edildiğini biliyor.

Bu MVC mimarisi örneğinde,

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

Bir MVC modeli örneğine daha bakalım,

Örnek 2

MVC Örnekleri

Araba sürüş mekanizması MVC modelinin bir başka örneğidir.

  • Her araba üç ana parçadan oluşur.
  • Görünüm: Kullanıcı arayüzü: (Vites kolu, paneller, direksiyon simidi, fren, vb.)
  • Kontrolör- Mekanizma (Motor)
  • Model- Depolama (Benzin veya Dizel tankı)

Araba motordan çalışır ve yakıtı depodan alır, ancak yalnızca bahsedilen kullanıcı arayüzü cihazlarını kullanarak çalışır.

Popüler MVC web çerçeveleri

Bazı popüler MVC çerçevelerinin bir listesi:

MVC'nin Avantajları: Temel Faydalar

İşte MVC mimarisini kullanmanın başlıca faydaları:

  • Genişletilmesi ve büyütülmesi kolay kolay kod bakımı
  • MVC Model bileşeni kullanıcıdan ayrı olarak test edilebilir
  • Yeni müşteri türleri için daha kolay destek
  • Çeşitli bileşenlerin geliştirilmesi paralel olarak gerçekleştirilebilir.
  • Bir uygulamayı üç birime bölerek karmaşıklığı önlemenize yardımcı olur. Model, görünüm ve denetleyici
  • Yalnızca web uygulaması isteklerini tek bir denetleyici aracılığıyla işleyen bir Ön Denetleyici modeli kullanır.
  • için en iyi desteği sunar. test odaklı geliştirme
  • Büyük web tasarımcıları ve geliştirici ekipleri tarafından desteklenen Web uygulamaları için iyi çalışır.
  • İşlevlerin net bir şekilde ayrılmasını (SoC) sağlar.
  • Arama Motoru Optimizasyonu (SEO) Dostu.
  • Tüm sınıflar ve nesneler birbirinden bağımsız olduğundan bunları ayrı ayrı test edebilirsiniz.
  • MVC tasarım deseni, mantıksal gruplamaya olanak tanır.ping Bir kontrol cihazındaki ilgili eylemlerin bir araya getirilmesi.

MVC kullanmanın dezavantajları

  • Bu modeli okumak, değiştirmek, birim testi yapmak ve yeniden kullanmak zor
  • Çerçeve navigasyonu, yeni soyutlama katmanları eklediği için bazen karmaşık olabilir.tracBu, kullanıcıların MVC'nin ayrıştırma kriterlerine uyum sağlamasını gerektiren bir durumdur.
  • Resmi doğrulama desteği yok
  • Artan karmaşıklık ve veri yetersizliği
  • MVC'yi modern kullanıcı arayüzüyle kullanmanın zorluğu
  • Paralel programlama yapabilmek için birden fazla programcıya ihtiyaç vardır.
  • Birden fazla teknoloji bilgisi gereklidir.
  • Denetleyicideki birçok kodun bakımı

3 katmanlı Archidoku ve MVC Archidoku

Parametre 3 Katmanlı Archidoku MVC Archidoku
Yakın İletişim Bu tip mimari desenler hiçbir zaman veri katmanıyla doğrudan iletişim kurmaz. Tüm katmanlar üçgen topolojisini kullanarak doğrudan iletişim kurar.
kullanım 3 katmanlı: istemcinin, veri katmanlarının ve ara yazılımın fiziksel olarak ayrı platformlarda çalıştığı web uygulamalarında yaygın olarak kullanılır. Genellikle tek bir grafik iş istasyonunda çalışan uygulamalarda kullanılır.

SSS

MVC, basit bir tasarım deseni değil, bir mimari desendir. Tüm uygulamayı Model, Görünüm ve Denetleyici katmanlarına ayırarak veri, sunum ve kullanıcı etkileşimi mantığını birbirinden ayırır.

MVC, girişleri işlemek ve Model ile Görünümü güncellemek için bir Denetleyici kullanırken, MVVM veri bağlama ile bir Görünüm Modeli kullanır. MVVM, gereksiz kod tekrarını azaltır ve modern kullanıcı arayüzü çerçevelerinde yaygındır.

Özellikle büyük ekipler tarafından geliştirilen web uygulamaları gibi veri, kullanıcı arayüzü ve mantığın net bir şekilde ayrılması gereken uygulamalar geliştirirken MVC kullanın. Bu, test edilebilirliği, paralel geliştirmeyi ve SEO dostu yönlendirmeyi iyileştirir.

Yapay zeka özellikleri genellikle MVC uygulamasının Model veya servis katmanına eklenir. Denetleyici, kullanıcı girdisini yapay zeka modellerine iletir ve Görünüm, tahminleri, önerileri veya oluşturulan içeriği kullanıcılara gösterir.

Evet. Yapay zeka kodlama asistanları MVC bileşenlerini oluşturabilir, denetleyiciler, modeller ve görünümler üretebilir ve yönlendirme önerilerinde bulunabilir. Geliştiriciler yine de doğru iş mantığı ve güvenliği sağlamak için çıktıyı gözden geçirir.

Bu yazıyı şu şekilde özetleyin: