15 Ağustos 2018 Çarşamba

Mühendisler Dünyası

MVC Tarihçesi

MVC terimi özellikle son yıllarda popülerliğini artırsa da aslında 1970'ci yıllara ortaya çıkmış bir proje tasarım kalıbıdır.


MVC şablonu ve bu modeli temel alarak gelişen arayüz ile ilgili şablonların yaratılması ve ilk bahseden kişiler aşağıda gösterilmektedir : 
  • MVC (Model-View-Controller) : 1979 , Trygve Reenskaug 
    • MVP (Model-View-Presenter) : 1996, Mike Potel (IBM)
      • Presentation Model (veya Application Model) : 2004 , Martin Fowler
        • Model-View-ViewModel  : 2005, John Gossman (Windows Presentation Foundation Geliştiricisi)



Asp.Net MVC 1.0
MVC’nin ilk resmi yayın tarihi 2009 yılı olmuştur. Bünyesinde barındırdığı ve günümüze kadar gelen en temel özellikleriyle piyasaya sürülmüştür. Bu özellikler aşağıdaki gibi sıralayabiliriz.
  • Mvc  yapısı, kendine özgü bir yaşam döngüsü, gelen isteklerin(request) cevaplanması (Controller katmanı) ve sonucun çıktı halinde kullanıcıya sunulması(View katmanı).
  • Routing kavramı.
  • HTML etiketlerini oluşturmayı sağlayan helper kavramı.
  • Ajax tabanlı linkler ve formlar.
  • Post edilen formların bilgilerini otomatik olarak .Net nesnelerine bağlayan Model Binder ve modele ait doğrulamaları yapan Model Validation kavramı.
Bu web alanında atılan büyük bir adımdı. Fakat kurumsal ve büyük çaplı projeler için altyapının biraz daha geliştirilmesi gerekiyordu. Neyse ki Asp.net MVC Microsoft cephesinin ilk genişletilebilir ürünüydü. Çoğu temel bileşen genişletilebilir hatta tamamen kendi oluşturacağınız yapılarla değiştirilebilir esnekliğe sahiptir. Örneğin DefaultModelBinder yeterli esnekliğe sahip değilse kendi özel Model Binder sınıfımızı geliştirebiliriz.

Asp.net MVC 2.0

2010 yılında yeni sürüm olan 2.0 sürümü yayınlandı. Bu sürümde verimliliği arttırmak ve büyük uygulamalarda bakımı ve gliştirilebilirliği kolaylaştırmak amaçlanıyordu. Yeni eklenen özellikler:
  • Server ve client tarafında attribute tabanlı Model validation.
  • Büyük uygulamara için uygulama içinde başka bir uygulama  tanımlayabilen Area kavramı.
  • Model ve attribute tabanlı olacak şekilde form ve view sayfalarını otomatik oluşturulabilen Html Templated Helpers.
  • Asenkron Controller.
  • Lambda tabanlı Html Helper.
Bu versiyonda birkaç özellik önceki versiyondaki mevcut olanlara ek olarak tanıtıldı. Bunlar:
  • Model Metadata Provider ve  Model Validation Provider.
  • Validation Attribute ve validation mantığı.
  • Custom teplates.

Asp.net MVC 3.0

2011 yılında yayınlanan bu sürümde framework üzerinde köklü bir değişkliğer gidilmedi. Sadece süsleme tarzında kullanım kolylıkları sunan birtakım düzenlemeler yapıldı. MVC3 yenilikleri şu şekilde sıralayabiliriz.
  • Visual Studio içersine dahil edilen MvcScaffolding sayesinde CRUD(Create Read Updare Delete) işlemlerini yapacak Controller ve bu metodları kullanacak View sayfaları model bazlı olarak otomatik oluşturulabiliyor.
  • JQuery, JQuery UI gibi javascript kütüphaneleri projelere otomatik dahil ediliyor ve NuGet paketleri sayesinde anında güncellenebiliyor.
  • Entity Framework Code First varsayılan data access kütüphanesi olarak sunuluyor.
  • HTML 5 desteği.
  • Razor view engine.

Mühendisler Dünyası

Yazar Hakkında: Mühendisler Dünyası -

Bilgisayar Mühendisiyim. Yaklaşık 10 senelik Asp.net MVC tecrübemi de bu blogda yazmaya çalışıyorum. Bu yazıların sizin için faydalı olmasını temenni ediyorum.