Model-View-Controller
Model-view-controller, yazılım mühendisliği'nde kullanılan bir "mimari desen"dir. Kullanıcıya yüklü miktarda verinin sunulduğu karmaşık uygulamalarda veri ve gösterimin soyutlanması esasına dayanır. Böylece veriler (model) ve kullanıcı arayüzü (view) birbirini etkilemeden düzenlenebilir. Model-view-controller, bunu controller adı verilen ara bileşenle, veri gösterimi ve kullanıcı etkileşiminden, veri erişimi ve iş mantığını çıkarma suretiyle çözmektedir.
Desen ilk defa 1979[1]'da Trygve Reenskaug tarafından tanımlandı ve sonra Xerox araştırma laboratuvarlarında Smalltalk üzerine çalışmalar devam etti. Detaylı özgün gerçekleştirim Applications Programming in Smalltalk-80(TM):How to use Model-View-Controller[2] adlı belgede tanımlıdır.
Şablon Tanımı
- M (Model)
- M (Model), İş Mantığını ve veri işleme süreçlerini yürütür. C (Controller) tarafından gönderilen emirlere göre hareket eder. Bilgi işleme sürecinden sonra veriyi C'ye, diğer modellere veya doğrudan V (View)'ye gönderir.
- V (View)
- V (View) son kullanıcıya gösterilecek olan verinin sunumu ile ilgilenir. V, bu bilgiyi C veya M'den alır, aynı zamanda son kullanıcıdan gelen talepleri C'ye iletir.
- C (Controller)
- C ise sistemin ana kısmıdır. Gelen talepleri kontrol eder ve sistemin diğer elemanlarının (M,V) bilgiyi uygun şekilde alıp, göndermelerini sağlar.
Kısacası, C beynimiz, M sinirlerimiz, V ise kas, burun, göz, kulak vb. kısacası dış dünya ile fiziksel ilişkisi olan herşeyimizdir.
Sevdiğimiz insanı gördüğümüzde gözümüz bu veriyi beynimize yollar (V > C), beynimiz buna bir tepki vererek yüz sinirlerine emir gönderir (C > M), sinirlerimiz beyinden gelen emri işleyerek kasları gerer ve gülümsememizi sağlarlar (M > V). Tüm MVC süreci bununla özetlenebilir.[3]
Kaynakça
- ^ http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
- ^ http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html
- ^ http://javam.org/mvc/
Ayrıca Bakınız
![]() | Yazılım ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz. |