MVC Nedir?
MVC Nedir?
MVC, yazılım geliştirmede son derece önemli bir konuma sahip olan bir yazılım mimarisidir. Model View Controller’in kısaltılması olan MVC, uygulama yazarken genel bir iş mantığıyla kullanıcı arayüzlerini birbirinden ayırır ve uygulamanın farklı amaçlara hizmet veren kısımlarının birbirine girmesini engeller.
MVC nedir? Açılımı Model View Controller olan MVC, işleri oldukça kolaylaştıran bir mimaridir. Burada model kelimesi, veritabanından verilerin çekilmesine yardımcı olur. Bu sayede verileri bir yerden kontrol etme olanağı bulunur. View kelimesi ise, görünüm katmanıdır. Yani Html, JavaScript ve CSS gibi bazı kodların tutulduğu bölümdür. Son kelimesi olan Controller ise, model ve view arasında kalan katmandır. Bu üç bileşenden oluşan MVC’nin bileşenlerine daha yakında bakılırsa;
- Model: Bileşeni, kullanıcın beraber çalıştığı bütün verilerle alakalı bir mantıktır. Model; view ve controller bileşenleri arasında aktarılan bilgileri ya da iş mantığıyla ilgili diğer verileri temsil eder.
- View: Bileşeni, uygulamanın bütün kullanıcı arayüzü mantığı için kullanılır. Bu kısımda projenin kullanıcılara sunulacak olan HTML dosyaları yer alır. Projenin yazıldığı programlama dillerine göre de dosya uzantıları da değişebilir.
- Controller: Bileşeni, bütün iş mantığını ve gelen istekleri işler. Aynı zamanda model bileşenini kullanarak verileri işler, son çıktıyı almak için de view bileşeni ile etkileşim kurar.
MVC’nin diğer önemli bileşeni de Routing bileşenidir. Routing, kullanıcının uygulamaya yaptığı işlemi uygun Controller ve Action’a aktaran yapıdır. Kullanıcı, isteği uygulamanın belli bir adresinde yönlendiri, routing bileşeni sayesinde ilgili adres için en uygun Controller ve içindeki Action çalıştırılır.
Model View Controller Yazılım Mimarisinin Tarihi Nedir?
Model View Controller mimarisi ilk defa 1979 yılında Trygve Reenskaug tarafından ele alınır. Aynı zamanda MVC modeli ilk olarak 1987 yılında Smalltalk programlama dili ile kullanıcılara sunulur. 1999 yılında bir makalede ilk defa genel bir kavram olarak kabul edilen Model View Controller, son zamanlarda modern web uygulamalarında sık sık kullanılmaya başlanır.
MVC Ne İşe Yarar?
“MVC nedir ne işe yarar?” sorusu uygulama geliştiriciler tarafından oldukça merak edilen konulardan bir tanesidir. Model View Controller kelimelerinden oluşan MVC’nin farklı amaçlara hizmet eden bileşenlerini birbirinden ayırarak, kodu daha rahat bir şekilde geliştirebilir ve test haline getirebilirsin.Bu durumda daha az hata çıkartma imkanına sahip olursun. Kısaca, MVC sayesinde Model ve View bileşenleri ayrışabilir. Böylece uygulamanın görünümü değiştirilmek istendiği zaman, sadece görünüm değişir. Ancak karmaşık bir kodla uğraşmak gerektiğinde bu durumda yalnızca görünümde değil uygulamanın işleyişinde de değişiklikler olur. Aynı zamanda, model ve view ayrıştırması sayesinde bu bileşenlerde ihtiyaç duyulan parçalar, başka işlerde de yeniden kullanılabilir.
MVC’nin Sağladığı Avantajlar Nelerdir?
Kullanıcılara sağladığı farklı ayrıcalıklar ile ön plana çıkan yazılım mimarisi MVC, çeşitli avantajları da beraberinde getirir. MVC’nin kullanıcılara sağladığı avantajlar şu şekilde sıralanabilir;
- MVC yazılım mimarisi, kullanıcıdan bağımsız olarak test edebilir.
- Yeni müşteri çeşitleri için daha kolay bir destek sağlar.
- Bir uygulamayı Model, View ve Controller olmak üzere üç bileşen bölerek karmaşıklığı ortadan kaldırmaya yardımcı olur.
- Uygulama güvenliği noktasında büyük etkileri olan Model View Controller’e dışarıdan ulaşan herkese View kısmı gösterilir.
- Sadece web uygulaması taleplerini tek bir denetleyici sayesinde işleten bir modele sahiptir.
- Birbirinden farklı bileşenlerin geliştirilmesi paralel olarak gerçekleştirilebilir.
- Bütün sınıf ve nesneler birbirinden ayrıdır. Böylelikle ayrı bir şekilde test edilebilir.
- Test odaklı geliştirmeler için en iyi katkıyı sağlar.
- Büyük web uygulamalarında, projenin yönetimini ve denetimini kolaylaştırır.
- Controller’da yer alan ilgili işlemleri beraber mantıksal çerçevede gruplandırılmasına izin verir.
- Web tasarımcıları ve uygulama geliştiriciler tarafından desteklenen web uygulamalarında sorunsuz bir şekilde çalışır.
MVC’nin Dezavantajları Nelerdir?
Model View Controller yazılım mimarisinin avantajları olduğu gibi bazı dezavantajları da mevcuttur. Bu dezavantajlar şu şekilde sıralanabilir;
- MVC’yi okumak, değiştirnek, test yapmak ve tekrar kullanmak zordur.
- Resmi doğrulama özelliği bulunmaz.
- Veriler çoğaldıkça karışıklık ve performans düşüklüğü oluşur.
- Paralel bir programlama yapmak istenildiğinde birden çok programcıya ihtiyaç duyulur.
- Birden çok teknoloji bilgisi gerekir.
- Modern kullanıcı uygulamalarında Model View Controller kullanmak zordur.
MVC Nerelerde Kullanılır?
MVC, genel olarak web uygulamalarında kullanılır. Sistemi kolaylaştırmak üzerine kurulu olan MVC, aynı zamanda tekrar tekrar kullanılabilme özelliğine de sahiptir. Bunların yanı sıra özellikle web uygulamalarından bir sunucu tarafından yazılan kodlar sadece controller tarafından kullanılır.
Controller, farklı uygulamalarda da çok kolay bir şekilde kullanılmaktadır. Özellikle web uygulamalarında bu ViewState kavramı, pek çok bilginin saklanması işlemi gereken durumlardan verimlerinin düşmesinden sebep olurken MVC projelerinde ViewState bulunmadığı için performans kaybı da oluşmaz.
Neden MVC Kullanılmalı?
MVC ne demek? MVC, pek çok web uygulamasında yaygın olarak kullanılır. MVC’nin birbirinden bağımsız olması en kullanışlı yönlerinden biridir. Yani ileride uygulamanda görsel bir değişiklik yapmak istediğin zaman yalnızca görünümü değiştirecek olan View kısmıyla ilgilenmek yeterli olur. Sonuç olarak MVC, uzun yıllar boyunca pek çok Framework de ve Java, Php gibi programlama dillerinde kullanılmış bir mimaris yazılımdır. MVC sayesinde hızlı çalışan, kolayca test edilebilir ve yeniden kullanılabilir parçaları olan web uygulamaları geliştirilir.
En Yaygın MVC Web Frameworkleri Nelerdir?
- CakePHP
- Symphony
- Fuel PHP
- Catalyst
- Zend Framework
- Ruby On Rails
- Django
- Laravel
- Spring MVC
- Yii
- ChreeyPy
- Codelgniter
- Rails
MVC'nin güçlü dünyasını keşfettikten sonra, teknoloji alanında kariyerini bir adım öteye taşımaya ne dersin? Techcareer.net'in Teknoloji İş İlanları sayfasında seni bekleyen fırsatları keşfedebilir, kariyerinde hangi yönü takip etmen gerektiğinden emin değilsen kariyer yolunda rehberlik etmeyi amaçlayan Kariyer Rehberi'ne göz atabilirsin. Dahası, techcareer.net komünitesiyle bilgi alışverişi yapmak, sorularını sormak ve sektördeki diğer profesyonellerle bağlantı kurmak için Discord’a katılabilir ve bu heyecan verici topluluğun bir parçası olabilirsin!