MVC Nedir?

MVC Nedir?

Hepinize merhaba dostlarım :). Bu yazımda sizlere yazılım sektöründe şu zamanda hemen hemen her yerde görebileceğiniz olan MVC den biraz bahsetmek istiyorum. Her yeni bir yazıda heyecanlanıyorsunuz farkındayım :). Gözünüzde MVC ile ilgili korku olmasın mantığı basit :). Gelin sözü daha fazla uzatmadan bu MVC nedir neler yapılır bir inceleyelim :)

MVC Nedir ?

Dostlarım mantıksal bir tanım yapcam yine ama bunda birazcık teoriğe gireceğim :). Öncelikle gelin MVC ye neden MVC demişler :)

  • Model (Veri Tabanı İşlemlerinde Görev Alırım)
  • View (Kullanıcı Ön Yüz Tasarımı Buradadır)
  • Controller (View ile Model arasındaki getir götür işlemlerini yaparım)

İşte dostlarım bu 3 ayrı işlemin birleşmesi ortaya kocaman ve tadından yenmez bir şey çıkarıyor :) işte bu MVC :). Gelin dostlarım şimdi bunların mantıksal tanımlama işlemine bakalım

Model Nedir ?

Dostlarım model dosyası veya dosyalarında (siz tek dosyada mı yaparsınız yoksa birden fazla dosyada mı tamamen size kalmış) veri tabanı ile ilgili bütün işlemlerinizi tutabilirsiniz. Bunlar örneğin crud işlemleri olabilir veya join işlemleri vs olabilir :). Gelin mantıksal bir örnek verelim.

Sizin bir projeniz olsun stok takip yazılımı diyelim :). Stok Ekleme arayüzünüz var , stok ekleme kodları (php kodları) var ve veri tabanı ile ilgili php kodlarınız var :). Bu stok eklendiğinde pure php deki gibi veri tabanı kodları ile tasarım kodları bir yerde durmayacak :). Peki nerede duracak ?

Tabii ki de cevabımız "Model Dosyası İçerisinde :)"

View Nedir ?

Dostlarım view yani temel düzey ingilizce biliyorsanız görünümle alakalı olduğunu hızlıca kavramışsınızdır :). Ben yine de mantıksal bir anlatımdan bahsedeyim sizlere :)

Dostlarım örnek veriyorum bir yazılımımız var elimizde bu da bir bilgi forum sitesi olsun :). Giriş yaptığınızda ziyaretçiyi güzel bir sayfanın karşılaması ne kadar da hoş olur değil mi. Peki size sorum bunu model dosyası içerisinde saklayabilir miyiz ? Hayır cevabı verenleri duydum peki neden ?

Hocam view kısmında sadece görünüm dosyaları yer alır model dosyasında biz veritabanı kodları yazıyoruz orada olamaz :)

evet dostlarım :). View i model dosyasına koyamayız yani best practice bir yol asla olmaz :). Best practice bir yol değildir :). Yazılımla uğraşıyorsanız sürekli ama sürekli best practice yol aramanız lazım :). Gelelim MVC yi oluşturan diğer bir yapıya

Controller Nedir ?

MVC yi oluşturan yapılardan birisi olan ve model ile view arasında adeta bir getir götürcü olarak tanımlanan yapı diyebiliriz :). Mantıksal bir tanımlamayla örnek verecek olursak bir siteye ziyarette bulunduk. Site çok hoşumuza gitti ve yazılımcısına bir teşekkür etmek istedik ve iletişim kısmına girdik. İlk olarak iletişim linkine bastığımızda controller view ile hemen etkileşime girdi kontrol yaptı veritabanı işlemi var mı yok mu. İletişim sayfasına yönlenmek istediğimiz için iletişim sayfasının olmadığını gördü ve hemen iletişim sayfasını ekranımıza getirdii :)

Daha sonra bir form kısmına güzel bir teşekkür mesajı yazdık ve gönder dedik dostlarım :). Peki şimdi ne oldu gelin ona bakalım

Dostlarım ilk olarak mesaj gönder dediğimizde controller a isteğimiz ve verilerimiz gitti. Daha sonrasında controller kontrol etti veri tabanı işlemi var mı diye ki zaten mesaj gönderme de veri tabanı ile ilgili işlem olduğu için verilerimizi aldı

Model dosyamız çağrıldı ve insert (ekleme) işlemi yapıldı. Bu işlemden dönen sonuç kontrol ettirildi yani ekleme işlemi başarılı mı oldu yoksa başarısız mı diye :). Başarılı ise bizi iletişim sayfasına geri döndürdü  ve iletildi uyarısı verdirdi, başarısız ise hata sayfasına yönlendirdi ve mesaj gönderilemedi daha sonra tekrar deneyiniz dedi :)

İşte dostlarım controller burada tam bir getir götürcü işlemi yaptı gördüğünüz gibi :). Bu controller için güzel akılda kalıcı bir isim koyalım gelin

MVC nin demirbaşı

işte dostlarım velhasıl kelam MVC bu 3 yapıdan oluşuyor dostlarım :). Şimdi ise gelelim MVC yi neden kullanıyor bu yazılımcılar veya neden kullanmamız gerekir

MVC'yi Neden Kullanırız ?

Dostlarım burada herhangi bir tanım yapmayacağım :). Sadece geliştirme aşamalarında bize sağladığı kolaylıkları maddeler halinde yazacağım :)

  • Front-End ve Back-End , Ziyaretçi kısmı ve Admin Paneli gibi 2 veya daha fazla panel içeren yazılımlarda tasarım,veri tabanı kodları,controller kodlarını ayrıştırmamızda ve analiz etmemizde çok büyük katkı sağlar
  • Yazdığımız bir sistemde revize olması durumunda bu modülün yerine hızlıca erişip gerekli revizeleri yazabiliriz
  • OOP yapısı içerdiğinden geliştirme yaparken sizi class yapılarında da geliştirir
  • Ve en önemlisi spagetti kod yapısından sizi kurtarır :)


Evet dostlarım bu yazımda da elimden geldiğince sizlere MVC nedir, MVC yapısı ve MVC kullanmamızın avantajlarından elimden geldiğince bahsettim :). MVC yapısına geçmenizi tavsiye eder misiniz diye soruyorsanız dostlarım kesinlikle tavsiye ederim çünkü spagetti koddan sizi kurtarıp daha hızlı proje geliştirmenizde yardımcı olacağını rahatlıkla söyleyebilirim dostlarım :).

Umarım faydalı olabilmişimdir dostlarım :). Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim :)


Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıJavascript Klavye Olayları
Sonraki YazıGitHub (GIT) Nedir?
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz