DMCA.com Protection Status MVC Nedir? Ne İşe Yarar? Nerelerde Kullanılır? | Bilişim Eğitim Merkezi

MVC Nedir?

MVC, Model View Controller’ın kısaltılmış adıdır. Uygulama yazarken iş mantığıyla kullanıcı arayüzünü birbirinden ayrıştıran ve uygulamanın farklı amaçlara hizmet eden bölümlerinin birbirine girmesini engelleyen yazılım mimarisidir. MVC nedir örnek olarak model, view ve controller öğelerinin tanımı yapılmalıdır. Yani kodun farklı amaçlara hizmet eden yapıları ayrıştırarak, kodu daha rahat geliştirilebilir ve test edilebilir hale getirmiş oluruz. Böylece kod, daha az hata verme potansiyeline sahip olur. Model; uygulamada kullanılan verileri temsil eder ve verilerin işlenme mantığının depolandığı bölümdür. Yani veri validasyonu burada yapılır. Genel olarak verilerin, veritabanına kaydedilmesi ve kayıtlı yerden alınması işlemleri buradadır. View ise kısaca uygulamanızın kullanıcılarınızın gözüyle gördüğü bölümü yani arayüzüdür. Controller ise; model ve view arasındaki iletişimi sağlar. Kullanıcıların view üstünden gerçekleştirdiği işlemlerle alınan veriyi modele taşır, modelden aldığı veriyi ise view üstünden kullanıcıya gösterir. MVC çalışma mantığı model ve view yapısının ayrılmasıdır. Bu iki yapının arasındaki haberleşmeyi sağlayan köprü ise controller’dir. MVC 5 nedir diye merak edenler için hemen cevaplayalım. MVC’nin en son sürümüdür. MVC’yi öğrenmek ve bu konuda uzmanlaşmak isterseniz Bilişim Eğitim Merkezi’nin derslerine katılabilirsiniz.

http://www.bilisimegitim.com/

 

MVC Nedir Nasıl Kullanılır?

MVC yardımı ile model ve view yapısını ayrıştırmak mümkün olur. Kendi tasarladığınız uygulamanın görünümünü değiştirmek zorunda kalırsanız sadece görünümle uğraşmanız gerekecek. İç içe geçmiş ve karışık bir kodla uğraşmak hem zaman kaybı hem de boşa sarfedilen emektir. Yani MVC mimarisi olmasa, uygulamanın görünümünü değiştirmek isterken uygulamanın işlevini de değiştirmek gerekecekti. Bu ayrıştırma özelliği sayesinde model ve view yapısında ihtiyaç duyulan parçaları, başka projelerde de kullanılabilir hale getirmiş olursunuz. Böylece zamandan tasarruf edersiniz.

 

MVC Örnekleri

MVC nedir sorusunu cevaplayan, Programmers – StackExchange‘de bulunan şu güzel örnekle konuyu açıklayabiliriz:

“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)

Peki kazancımız ne oldu?

  • Model veya View üzerinde değişiklik yapmak istediğimizde bu değişiklikler Model veya View’u artık etkilemeyecek. Yapılan bu değişiklikler Controller’ın yapısını değiştirmemize sebep verebilir ama hiç değilse değişiklik yapacağımız yeri sabit kısımlardan ayırmış olup spagetti kodu engellemiş olduk.
  • Model ya da View’u tekrar kullanabilir hale getirdik. Örneğin Model olarak RSS feed’i kullanıp View’u sabit tutarak, daha önceden oynanmış oyunları hazırladığımız View üzerinde gösterebiliriz. (Replay misali) Veya View’u değiştirip Model’i sabit tutarak oyunu hem Web sitesi üzerinden hem de Konsol uygulaması üzerinden oynanabilir hale getirebiliriz.
  • Hem View hem de Model’i iyi ayrıştırdığımız için bu yapılara Ünite testi yazmayı da kolaylaştırmış olduk.”

 

PHP MVC Nedir?

MVC; Model-View-Controller üçlüsünün baş harflerinden oluşan bir kısaltmadır. Üç tane PHP dosyasının birleşimi olarak düşünebilirsiniz. Bu üç PHP dosyası farklı işlemler yapar ve işleri kolaylaştırır. Model; veritabanından verilerin çekilmesine yardımcı olur. Böylece verileri tek bir yerden kontrol etme imkanı bulunur. View; görünüm katmanıdır. Yani HTML, CSS ve JavaScript gibi kodların tutulduğu bölümdür. Controller ise sistemin kontrol edildiği bölümdür. Model bölümünden verileri alarak, view dosyasına gönderir ve view bölümünden verileri listeledikten sonra kullanıcıya view dosyası sunulur.

 

MVC Kullanmanın Avantajları Nelerdir?

MVC; proje geliştirme süresini kısaltır. Projede farklı katmanlar olduğu için ve bunların her biri birbirinden farklı olduğu için geliştiriciler eş zamanlı çalışarak kodlama yapabilirler. Bunun yanı sıra bu katmanların birleştirilmesi işlemi oldukça kolay bir biçimde gerçekleştirilir.

MVC’de yeniden kullanılabilme özelliği bulunur. Özellikle web projelerinde sunucu taraflı yazılan kodlar yalnızca o controller tarafından kullanılır. MVC ile yazılan kodlar ise controller’dan bütünü ile bağımsızdır ve farklı projelerde çok kolay bir şekilde kullanılabilirler.

Özellikle web projelerinde ViewState kavramı, birçok verinin tutulması gereken hallerde performans düşmesine neden olur. MVC projelerinde ise ViewState bulunmadığı için performans kaybı oluşmaz.

HTML ve CSS gibi kullanıcıya sunulacak olan kodlar, sistemin çalışmasına yardımcı olan mantıksal kodları birbirinden ayırır. Böylece 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 imkan tanır.

Ekip olarak çalışılan projelerde görev paylaşımı ve kodların okunabilirliğini arttıran MVC, takım çalışmasına imkan verir.

Kullanıcı arayüzünde yapılacak değişiklikler iş mantığı bölümünden tamamen bağımsız bir biçimde yapılabilir. Front-End Developer, Back-End Developer birbirinden bağımsız olarak çalışabilir.

MVC aynı zamanda hata ayıklamayı ve kodu test etmeyi daha kolay hale getirir.

/controllerName/functionName biçimindeki sayfaların bulunmasına yardımcı olur.

Diğer Yazılarımız:

Kodlama Nasıl Öğrenilir?

Yazılım Nasıl Öğrenilir?

Kodlama Nedir?

Yazılım Nedir?

Hakkında bilisimegitim

Ayrıca Kontrol Edin

Veritabanı Nedir?

En basit anlamıyla veritabanı; belirli bir amaca yönelik düzenlenmiş dosya ve kayıtların bütünüdür. Peki veritabanı …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Eğitimler İçin Arayın!