MVC Nedir? MVC'nin avantajları nelerdir?

OfisSoft

Asistan
Katılım
14 Ekim 2008
Mesajlar
135
Reaksiyon puanı
4
Puanları
0
Adını Model View Controller'in baş harflerinden alan tasarım desenidir. (Design Pattern) Sunduğu katmanlı mimari sayesinde, uygulamanın kullanıcı arayüzü ve mantık kısmını birbirinden ayırır. Php'de en fazla ihtiyaç duyulan ve kullanılan tasarım desenlerinden biridir. Ancak Php'ye özel bir kavram değildir. Bir platformdan bağımsız olarak C#, Java, Ruby on rails, Python vb. dillerde de kullanılabilir.

MVC'nin kısaltılmış bir terim olduğunu belirttikten sonra şimdi de Model, View ve Controller'in ne olduğunu açıklamaya çalışayım

MODEL NEDİR?

İş mantığı (Business Logic) bölümüdür. Tek katmandan oluşabileceği gibi, birden fazla katmanı da içinde barındırabilir. Tek katmandan oluştuğunda genelde veritabanına kayıt ekleme, kayıt çekme, kayıt silme vb. veritabanı işlemleri için kullanılır. Controller'den gelen değerleri işler ve geriye döndürür. Model katmanında herhangi bir output işlemi yapılmaz.

VIEW NEDİR?

Uygulamanın kullanıcıya gösterilen arayüzünün bulunduğu katmandır. Html, Css, Javascript vb. bu katmanda bulunur. Bu bölümde minumum php kodunun yazılması hedeflenmektedir. for, foreach, while vb. döngüler ile birlikte, dinamik değerleri ekrana yazdırmak için output komutları sıklıkla kullanılır.

CONTROLLER NEDİR?

Uygulamanın karar mekanizmasıdır. Model ile View arasında köprü görevi görür. View katmanından gelen istekleri(request) model'e gönderir ve Model katmanından aldığı verileri view'e aktarır.

MVC KULLANMANIN AVANTAJLARI NELERDİR?


  • Kullanıcıya sunulacak kodlar ile (Html, Css vb.) , sistemin çalışmasını sağlayan mantıksal kodları birbirinden ayırarak temiz ve düzenli kod yazımını kolaylaştırır.
  • Kodlarda daha kolay optimizasyon yapılmasına, genişletilmesine ve yeniden kullanılmasına olanak sağlar.
  • Ekip olarak çalışılan projelerde görev paylaşımını ve kodların okunabilirliğini arttırarak takım çalışmasına olanak sağlar.
  • Kullanıcı arayüzünde yapılacak değişiklikler iş mantığı kısmından bağımsız olarak yapılabilir. (Front-End Developer, Back-End Developer birbirinden bağımsız olarak çalışabilir.)
  • Hata ayıklamayı ve kodu test etmeyi kolaylaştırır.
  • /controllerName/functionName şeklinde sayfalara ulaşma imkanı sunar.


ÖRNEK

Php framework'lerinden biri olan CodeIgniter ile MVC mimarisinin kullanımı üzerine bir yazıyı önceden paylaşmıştım. Buraya tıklayarak veritabanından arama yaptığımız örneğe ulaşabilirsiniz.

Kaynak : http://www.webteders.com/blog/detay/MVC-Nedir.-MVC-nin-avantajlari-nelerdir./11
 
Üst