Merhaba MVC 🌟

Derya Polat
Bursa Bilişim Topluluğu
3 min readMay 5, 2024

Yazılım geliştirme dünyasında sıkça adını duyduğumuz MVC bir tasarım desenidir (design pattern). Tasarım desenleri ise tekrar kullanılabilir çözüm şablonlarıdır, yazılım geliştiricilere sık karşılaşılan problemleri çözmek için rehberlik ederler. Bu desenler, kodun daha anlaşılır, esnek ve bakımı daha kolay olmasını sağlar ve yazılım geliştirme sürecinde belirli bir kurala bağlı olmayı zorunlu kılarlar.

MVC Design Pattern

MVC tasarım deseni, bir yazılım uygulamasının kodunu Model, View ve Controller adı verilen üç bileşene ayırarak organize eder. Model, uygulamanın veri ve iş mantığını temsil ederken View, kullanıcı arayüzünü gösterir. Controller ise kullanıcının etkileşimini yönetir ve Model ile View arasındaki iletişimi sağlar.

MVC Desenindeki Temel Amaç

Bir uygulamanın farklı katmanlarını birbirinden bağımsız hale getirerek kodu yeniden kullanılabilirliğini, bakımını ve genişletilebilirliğini artırmaktır. Ayrıca bu desen paralel geliştirme süreçlerini destekleyerek yazılım ekibinin daha verimli bir şekilde çalışmasına olanak tanır.

MVC’nin Tarihçesi 📚

Bu tasarım deseni ilk olarak 1979 yılında Trygve Reenskaug tarafından tanımlanmıştır. Daha sonra 1987 yılında Smalltalk programlama dilinde tanıtılmış ve 1988 yılında ilk kez bir makalede kavram olarak kabul edilmiştir.

2007 yılında ise ASP.NET MVC Framework olarak Microsoft tarafından tanıtılmıştır. Bu framework, ASP.NET platformuna MVC desenini uygulamak için bir araç seti sunar, böylece geliştiricilerin web uygulamalarını daha organize ve yönetilebilir bir şekilde geliştirmelerine olanak tanır.

Framework Nedir?

Framework’ler, geliştiricilere kod yazımı, veri tabanı yönetimi, güvenlik ve kullanıcı arayüzü oluşturma gibi çeşitli görevlerde kolaylık sağlamak için hazır araçlar ve kütüphaneler sunan yapısal çerçevelerdir. Bu yapılar, yazılım geliştirme sürecinde tekrar eden işlerin otomatikleştirilmesi ve standartlaştırılması için tasarlanmıştır.

Model-View-Controller sözcüklerinin baş harflerinden oluşan MVC’yi detaylı incelemek istersek;

Model katmanı, verilerin saklandığı ve veri tabanına erişimin sağlandığı yerdir. Veri işlemleri burada gerçekleşir ve somut nesnelerin bilgisayar ortamında temsil edilmesi anlamına gelir. Örneğin, bir müşterinin kayıt bilgileri gibi veriler burada tutulur.

View katmanı ise Model’in görselleştirilmiş hali olarak tanımlanır. Kullanıcı uygulamayı bu katmanda görür. Tüm kullanıcı arayüzü bileşenleri burada bulunur ve HTML, CSS, JavaScript gibi teknolojiler kullanılarak oluşturulur.

Controller katmanı ise Model ve View arasındaki etkileşimi yönetir. Kullanıcıdan gelen istekleri alır, bu isteklere uygun işlemleri yapar ve sonuçları View’e ileterek kullanıcıya sunar. Model ile View arasında köprü görevi görerek, uygulamanın veri işlemlerini ve kullanıcı arayüzünün yönetimini sağlar.

MVC Avantajları 🟩

  1. Büyük Ölçekli Uygulamaların Tasarımı: MVC, kodu üç seviyede ayırarak büyük ölçekli uygulamaların düzenlenmesini kolaylaştırır. Büyük ekipler tarafından yönetilen uygulamalar için kodun bölünüp düzenlenmesi, belirli kod bölümlerini hızlı bir şekilde bulmayı ve yeni işlevler eklemeyi kolaylaştırır.
  2. Asenkron Metod Çağrılarını Destekler: MVC mimarisi JavaScript ve çerçeveleriyle uyumlu çalıştığı için Asenkron Metod Çağrılarını (AMI) destekler. Bu, daha hızlı yükleme yapabilen web uygulamalarının oluşturulmasını sağlar. PDF dosyaları, siteye özgü tarayıcılar ve masaüstü widget’lar gibi farklı platformlarda çalışabilirlik sağlar.
  3. Kolay Düzenlenebilirlik: MVC modeli sayesinde bir birimde yapılan değişikliklerden genellikle diğer birimler etkilenmez. Örneğin Controller ve Model içerisinde herhangi bir değişiklik yapmadan View’ı güncelleyebilirsiniz.
  4. Hızlı Geliştirme Süreci: MVC tasarım deseni birden fazla yazılım geliştiricinin aynı anda bir projeyi geliştirebilmesine olanak tanımaktadır.
  5. Planlama ve Bakımı Kolaylaştırır: Uygulama programlanmaya başlamadan önce tasarım deseni geliştirici için bir template örneği olarak planlama sürecini kolaylaştırır.
  6. Çoklu Görünümler: MVC tasarım deseni modeliniz için farklı görünümler oluşturmanızı destekler.

MVC Dezavantajları 🟥

  1. Artan Dosya Sayısı: MVC, her bir bileşenin ayrı dosyalarda tutulmasını gerektirir. Bu da projenin dosya sayısını artırabilir ve proje yönetimini karmaşıklaştırabilir.
  2. Performans Sorunları: Yanlış kullanıldığında veya aşırı katmanlı yapılar oluşturulduğunda, MVC uygulamaları performans sorunlarına neden olabilir. Bu nedenle, kodun optimize edilmesi önemlidir.

--

--