MVC nedir? nerelerde kullanılır?

Kategori Kodlama
0 Yorum
02.08.2011
3.440 views

Şu günlerde ilgi odağımda MVC var.daha doğrusu yazın başlarında Codeigniter merakımla CogeIgniteri incelemem sonucu birde MVC merakı sardı beni.CodeIgniteri öğrenirken MVC konusundada bilgi sahibi olduk tabi ufak ufak.MVC dediğimiz açılımı Model-View-Controller olan şey vikipedia tanımıyla Yazılım mühendisliğinde kullanılan mimari desendir.tabi bunu tam olarak açıklayabilmek için biraz daha ansiklopedik tanımlamalardan farklılaşmak gerekir.MVC ile iş mantığı (business logic) ve arabirim birbirinden izole olur (idealde). Bu iki katman veritabanının sembolleştirildiği model ile desteklenirse ortaya model-view-controller çıkar.MVC yazılımlarımıza daha esneklik katmamızı ve kodları birbirinden rahatça ayırmamızı sağlar.

Model: Genel olarak kullanılan verinin iş mantığı tarafından kullanılması için biçimlendirilmiş halidir. Sözgelimi ORM ile veritabanını nesne tabanlı bir formata sokarsanız bu bir model olacaktır. Controller, model’e erişim sağlayarak veri çeker, değiştirir, siler (crud) yani her türlü işlemi katmanlar ile yapar.
Model tek katmanlı da olabilir, çok katmanlı da olabilir.

View: Uygulamanın arabirimine ait olan her türlü bileşen (html, css, js…) view kapsamındadır. Bu bölümde algoritma bulunmaz (idealde). Böylece kod ile html birbirinden ayrılır ve değiştirilmeleri kolay hale gelir.

Controller Bu bölümde iş mantığı, algoritma, kod ne derseniz artık o bulunur. Her view için bir controller bulunur. Her controller için bir view bulunmak zorunda değildir.

Mvc tarihine biraz baktığımızda ilk aşamada programlama dilleri içinde yerini başarılı uygulamalar ile buldu.Büyük projeler üretilmeye başlanınca bu projeleri geliştirme istediğinden ötürü framework(Çatı)ler ortaya çıktı.Piyasada birçok mvc framework mevcuttur.Smarty,CakePhp,CodeIgniter v.b. tabiki projeleriniz doğrultusunda kendi mvc-frameworklerinizi oluşturmanızda  bu konuda önemlidir.Peki bu mvc nin bize kattıkları nelerdir?

  1. Takım çalışmaları için uyumludur.
  2. Katmanlı mimari ile geliştirilmeye ve değiştirilmeye açık projeler üretmenize yardımcı olur.
  3. Kodlama sürecini standartlaştırarak birden fazla yazılımcının aynı proje üstünde çalışmasını kolaylaştırır.
  4. Modüllerle çalışmanıza olanak sağlar

başlıcak 4 ana unsuru saydım.ancak sadece bunlarla kalacak değil elbette.mvc nin bize kattıklarını saymaya kalkarsak sayfada yer bulamayız.Ancak daha çok ekip çalışmalarında,daha profesyonel projelerde katkısı olur.Mvc nin başka faydasıda uygun kodlama ile en minimum band aşımını işlemci harcamayı sağlayabilirsiniz.Buda iyi bir programlamacı için önemli bir unsurdur :)