Yeni Başlayanlar İçin CodeIgniter #1 – MVC Mimarisi

Merhabalar,

Bu seride sizlerle CodeIgniter’ı basit bir uygulama yapabilecek kadar öğreneceğiz. O yüzden sadece temel anlamda gerekli bilgileri sizlere vereceğim, daha fazlasını beklemeyin.

Bu videomda sizlere MVC mimarisinden bahsettim. Şimdi kısaca bir bakalım MVC neymiş.

MVC Mimarisi Nedir ?

Öncelikle MVC’nin ne işe yaradığından bahsedelim. Ansiklopedik olarak açıklayacak olursak MVC, uygulamamızın iş mantığı (business logic) ve kullanıcı arayüzünü (user interface) birbirinden ayrıştıran, uygulamanın farklı amaçlara hizmet eden kısımlarının birbirine girmesini engelleyen bir yazılım mimarisidir.

MVC’nin açılımı Model, View, Controller‘dır. Şimdi bunları açıklayalım.

Model

Model kısmı işin yapıldığı kısımdır. Örnek olarak bir hesap makinesi yaptığınızı düşünün. Bu yazılımda Model’de olması gereken şeyler hesaplama işlemleridir. Toplama, çıkartma vs. bütün işlemlerinizi MVC mimarisine göre Model kısmında yapmalısınız. Ayrıca bunların dışında datanın elde edildiği kısım olarak da burası kullanılır. Veritabanı vb. şeyleri de Model kısmında kullanıyoruz.

View

View sizin yazılımınızın görünen kısmıdır. Yine hesap makinesi örneği üzerinden gidelim. Burada hesap makinesinin üzerindeki butonlar, toplamı gösterdiğiniz ufak display kısmı vs. bunların hepsini View kısmında tutarsınız. Böylece iş mantığı yani Model‘de yaptığınız şeyler ile arayüz birbirinden tamamen ayrıştırılmış olacaktır.

Controller

Model‘de işi yaptığınıza ve View kısmında da UI bulunduğuna göre bu ikisini bağlayacak bir şeye ihtiyacınız vardır. İşte burada bu köprü görevini Controller görüyor. Bir anlamda Model ile View arasında bir yapıştırıcı Controller. Şimdi de biraz örneklendirelim bunu.

Örnek olarak bir ziyaretçi defteriniz var diyelim. Verileri formdan alıp veritabanına kaydeden ufak bir uygulama. Burada öncelikle View kısmında formumuzu oluşturuyoruz. Daha sonra da Model kısmında ise veritabanına ekleme işlemini yapacağımız fonksiyonumuzu yazıyoruz. Şimdi de Controller ile Model ile View arasında bir köprü kuruyoruz. Şöyle ki kullanıcı verileri forma girip submit butonuna bastığı zaman formdaki verileri post ediyoruz ve Controller kısmında verileri elde etmiş olduk. Şimdi de Controller üzerinden bu verileri alıp Model‘e gönderiyoruz. Model kısmında da verilerimiz veritabanına ekleniyor. İstersek buradan Controller‘a bir değer döndürebiliriz. Örnek olarak veri eklendiyse true döndürelim. Controller‘a true döndü diyelim. Biz de Controller aracılığı ile Model‘den aldığımız bu haberi View‘a aktarıyoruz. Böylece iş mantığı (business logic) ve kullanıcı arayüzü (UI) birbirine karışmadan okunaklı ve takım çalışmasına uygun bir yazılım ortaya çıkmış oluyor.

İşte MVC dediğimiz şey bu. Şimdi de ufak bir görselle destekleyelim.

MVC

Resimde de gördüğünüz gibi Model ile View arasında hiçbir bağlantı yok hatta bir duvar var, Controller ise Model ve View arasındaki iletişimi sağlıyor.

Evet, bir dersin daha sonuna gelmiş bulunmaktayız, eğer bir yanlışım varsa beni aşağıdaki yorum bölümünden uyarabilirsiniz, ayrıca ders hakkındaki görüşlerinizi yine aynı şekilde aşağıdan yorum atarak belirtebilirsiniz.

Bu ders anlatacaklarım bu kadar başka derslerde görüşmek üzere.

CodeIgniter 101, Eğitim Setleri Mustafa Zahid Efe 2 yorum