Merhaba arkadaşlar, bugünkü yazımızda MVC Nedir? sorusunu yanıtlayacağız.
MVC (Model – View – Controller), yaptığımız uygulamanın iş mantığı ile (bussines logic) kullanıcı arayüzünü birbirinden ayıran mamafih (bununla birlikte) uygulamanın farklı amaçlarla görevlendirilmiş kısımlarının iç içe girmesini engelleyen bir yazılım mimarisidir.
Yani kısaca kodun birbirinden farklı bölümlerinde görev yapan yapıların MVC sayesinde ayrılarak kodu daha rahat geliştirme imkanı (daha az hata çıkarma olanağı) elde etmiş oluyoruz.
İçindekiler
MVC’ nin Görevi Nedir? (Model – View – Controller)
Model
- Uygulama içerisinde kullanılan verileri temsil eder ve sadece bununla kalmayıp programın işleme mantığı da bu bölümün içerisinde yer alır.
- Genelde verilerin veritabanına kaydedilmesi ve kaydedilen bilgilerin çekilmesi gibi işlemler bu bölümden yapılır.
View
- Basit bir şekilde anlatacak olursak kullanıcının görmekte yetkili olduğu bölüm yani arayüzdür.
Controller
- Bir bilgisayar donanımı olan RAM ile aynı göreve sahip olan getir götür işlerini yapmakla mükellef (görevli) olan bölümdür.
- Biz kullanıcıların View bölümünde yaptığı işlemleri Model bölümüne iletirken, Model bölümünde yapılan işlemleri de View bölümüne iletir.
- MVC yapısında dananın kuyruğunun koptuğu yer Model ile View arasında haberleşmeyi sağlayan bir köprü görevi görür.
MVC Nedir? sorusunu cevaplayan, Programmers – StackExchange‘ de karşılaştığım şöyle güzel bir örnekten alıntı yapabilirim:
Satranç uygulaması yaptığımızı düşünelim…
Model’de oyunun “durumu” barındırılacaktır. Oyunun durumunu değiştirecek etkiler (örneğin bir taşın hareketinin doğru olup olmadığı) veya oyunun bitip bitmediği gibi bilgiler model üzerinde yer alacaktır. (Kısaca, oyunun tüm bilgileri ve yapılacak işlemlerin validasyonu Model üzerinde barınacak)
View kısmında satranç tahtasının görünümü, yönettiğimiz piyonların şekilleri ve piyonları hareket ettirdiğimizde hangi piyonun nereye gittiğini söyleyen bildirimler yer alacaktır. Piyonların nasıl hareket ettiği, oyunun durumuyla ilgili mantıksal bilgilerin View ile hiçbir işi olmayacaktır. View sadece ve sadece görselliği barındıracaktır.
Controller ise View ve Model arasında haberleşmeyi sağlayacaktır. Örneğin, kullanıcı View’da yer alan “Yeni oyun başlat” butonuna bastığında Controller, Model’e giderek böyle bir isteğin geldiğini söyleyecektir. (Tüm bu işleri yapan Model olacaktır, Controller’ın amacı böyle bir isteğin geldiğini ve alakalı isteğin detaylarını Model’e iletmektir)
MVC Tarihçesi
Tygve Reeskaug tarafından 1979 yılında oluşturulmuş ve yazılım geliştirmede bir çok projede yer aldığı ve özellikle son dönemlerde Microsoft’ un MVC desenini Asp.Net teknolojisi ile birleştirmesiyle beraber popülaritesi bir üst kademeye çıkmıştır.
MVC ile ilgili bilinen yanlış bilgilerden bir tanesi de MVC‘ nin Microsoft’ tan çıkarıldığı düşüncesidir. Az önce de söylediğimiz üzere, MVC’ nin Asp.Net’ e entegre edilmeden önce bu deseni bir çok (.Net) yazılım geliştiricisi bilmemekteydi, bilseler dahi kullanma gereği duymuyorlardı. Asp.Net MVC’ nin gelişmesinden sonra MVC’ ye olan ilgi odaklarını üstüne çekmeyi başardı.
Umarım bloğumuzu faydalı bulmuşsunuzdur bugün sizlere MVC Nedir? ile alakalı elimizden geldiğince bilgi vermeye çalıştık sürçü lisan ettiysek affola diyerek cümlemize son noktayı koyuyoruz.
Hata!
Yorumunuz Çok Kısa, Yorum yapabilmek için en az En az 10 karakter gerekli