Jump to content

Mvc Nedir? Ne Değildir?


Bitmap
 Share

Recommended Posts

MVC (Model-View-Controller)
Yazılım geliştirmede en çok zorlanılan kısım bakım ve testtir. Bunu aşmak için çeşitli teknikler uygulamışlar çeşitli standartlar oturtmaya çalışmışlardır..
Bu yazıda Bunlardan birini kısaca anlatmaya çalışacağım: MVC, Yazılım geliştirmede kullanılan mimari bir desendir. MVC iş öğelerine göre birbirinden ayırarak temiz, anlaşılır ve geliştirmesi kolay kod yazmayı sağlar. Bir çeşit Three-tier (Data Layer, Business Layer, Presentation Layer) mimari örneğidir. Kullanımı ve bakımı kolaydır. Kod geliştirmesi modüler sistemler için oldukça uygundur.

Peki nedir MVC'nin bileşenleri?
Model Katmanında verikaynağı(veritabanı,dosya,vs)'ndan gelen verilerin programa aktarılması ve bu veri üzerinde yapacağı davranışları belirttiğimiz data katmanıdır.

View Katmanı, Kullanıcının görmesi gereken verilerin Modelleri kullanarak gösterildiği Presentation katmanıdır.
 

Controller ,kullanıcının isteklerine yanıt veren, modeldeki verileri düzenleyen, ayrıca model ve view arasındaki ilişkiyi kuran Business katmanıdır.

Temel olarak aralarındaki ilişki aşağıdadır:
pre_1429185979__200px-mvc-process.png
Resim Kaynak:Wikipedia
 
 
Peki MVC ne değildir?
- MVC yeni bir programlama dili değildir.
MVC bir tasarım desenidir. Bir mimari yaklaşımdır. Yeni bir programlama dili değildir. Genelde ASP.net Razor'dan yada Laravel Blade'den dolayı böyle bir yanlış anlaşılma mevcuttur.
 
-Microsoft tarafından geliştirilen bir design pattern yada sadece asp.net ile  webde kullanılan bir yapı değildir.
1979 yılından beri çeşitli dillerde uygulanmış bir mimari desendir.1994 yılında yayımlanan Design Patterns: Elements of Reusable Object-Oriented Software kitabında geçmektedir. Hemen hemen her dilde MVC design pattern uygulanabilir.
 
- MVC-SEO ilişkisi
MVC seo dostudur. URL yapısı seo'ya uygundur. Routing yapısı ve uygulama geliştirmesi basittir. genelde example.com/controller/action biçimindedir.

MVC'yi Kısaca anlatmaya çalıştım. Sorularınız olursa konuya yazabilirsiniz.

 

Örnek uygulama: https://www.dropbox.com/s/s8lngraqrpyab1a/MvcOrnek.zip?dl=0

Link to comment
Share on other sites

  • 4 hafta sonra ...

Bu konu üzerinde daha yeni sayılırım, basit bir program ile örnek koyabilirseniz daha anlaşılır olabileceğini düşünüyorum. Bu konuyu bir çok iş yerlerinde duymuştum fakat nasıl yapıldığını araştırıp yeterli bilgilere ulaşamadıydım.

Link to comment
Share on other sites

Bu konu üzerinde daha yeni sayılırım, basit bir program ile örnek koyabilirseniz daha anlaşılır olabileceğini düşünüyorum. Bu konuyu bir çok iş yerlerinde duymuştum fakat nasıl yapıldığını araştırıp yeterli bilgilere ulaşamadıydım.

 

Merhaba, Dilden bağımsız bir konu olduğu için örnek koyma gereği duymadım.

 

Hangi dilde örnek istediğinizi belirtirseniz ona göre örnek yapabilirim

Edited by Bitmap
Link to comment
Share on other sites

C# bölümünde olduğumuza göre tabii ki PHP ile örnek vereceksin.

Aahhah, saygılar abi, cidden saçma olmuş :) bi oturabilirsem boş zamanda örnek göndercem :D

 

Edit : Örneğı buradan indirebilirsiniz. Basit CRUD işlemlerini yapan bir örnek, Database kullanmadım. Onun yerine uygulamada verileri depoladım. https://www.dropbox.com/s/s8lngraqrpyab1a/MvcOrnek.zip?dl=0 adresinden indirebilirsiniz.

 

@KintaRo abi konuya linki ekleyemedim. Düzenle butonu çıkmıyor .Ekleyebilir misin?

Edited by KintaRo
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...