Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

ASP.NET MVC Nedir ? Neden Gereksinim Duyulmuştur ?

Benzer bir sunumlar


... konulu sunumlar: "ASP.NET MVC Nedir ? Neden Gereksinim Duyulmuştur ?"— Sunum transkripti:

1 ASP.NET MVC Nedir ? Neden Gereksinim Duyulmuştur ?
WebForms’a Göre Avantaj ve Dezavantajları Neler? Nerelerde ve Neden Tercih Edilmelidir ? Sunum Volkan Dal tarafından hazırlanmış. Konu ile ilgili detaylı bilgi için adresinden ulaşabilirsiniz…

2 Asp.Net MVC Nedir ? Model – View – Controller kelimelerin baş harflerinden oluşan MVC Frameworkü Asp.Net teknolojisi üzerine geliştirilmiş bir programlama sitilidir. MVC Framework , Webformsdaki gibi textbox,button gibi componentlerin bulunmadığı tüm bunların Html taglarıyla oluşturulduğu aynı zamanda da Asp.net Runtime’da çalışan bir yazılım mimari desenidir.

3 Model – View - Controller
Bunu aslında üç katmanlı mimariye benzetebiliriz. Model : veriye ulaşan , View : veriyi sunan, Controller : Veriyi işleyen katman gibi düşünebiliriz. Tüm kontroller html taglarıyla oluşturulduğu için daha anlamlı sayfalar ortaya çıkmakta ve buda günümüz trendlerine daha uygun olmaktadır.

4 Asp.Net MVC Klasik Asp.net sayfasının çıktısını düşünün.Sayfadaki bir Datagrid kontrolü göz önüne getirin tabloların içinde satırları sutunları düşünün.Otomatik üretilmiş her kodu bir yere kadar düzenleyebiliyoruz buda sıkıntı yaratıyor. Asp.net MVC’de ise bunun tam tersine geliştirme süresi uzarken çıktı nasıl istenirse developer tarafından öyle ayarlanabiliyor.

5 Model Modellar, iletimde kullanılan yada veritabanındaki bir veriyi temsil eden sınıflardır. View ile Controller arasında veri iletimi Modellar sağlar. LINQ to SQL ile Entity Framework dosyaları veya Datatable , Dataset , Datareader gibi nesnelerle veri taşıyan tiplerimiz bu katmanda yer almaktadır.

6 View View, istemcilerin gördüğü taraftır. Yani web programlama için html sayfadır. Viewlar , Razor ve Aspx görünüm motoru olmak üzere iki farklı şekilde tasarlanabilir.Razor seçildiğinde dosya uzantısı “.cshtml” , eğer Aspx görünüm motoru kullanılıyorsa uzantı “.aspx” olacaktır.

7 Controller Uygulamaya gelen talepleri yöneten katmandır.
Controller nesnelerinde Action metodları bulunur ve bu metodlar gelen talepleri uygun View ve Model üzerindenden değerlendir. View katmanının kullanıcıya gösterilmesi için gerekli işlemleri controller gerçekleştirir. Örneğin , form verilerini veritabanına ekleyen ya da formun istediklerini veritabanından çeken bir sınıf olabilir.

8 Asp.Net MVC Asp.net MVC hiçbir zaman Webforms’un rakibi değil bir alternatifi olarak düşünülmelidir.Genelde veri odaklı uygulamalarda tercih edilmelidir. Büyük veri kaynaklı internet projelerinde MVC kullanmak hem sayfa hızlarında , hem de server kaynakları kullanımında önemli bir performans artışı sağlar.

9 Asp.Net MVC MVC Framework’ünün çıkmasının asıl nedeni User Interface ve Data katmanlarının birbirinden ayrılmasını zorunlu kılmaktır. Bu sayede geleceğe dönük uygulamanın geliştirilebilirliği de artacaktır. Daha rahat ve kısa sürede değişiklikler yapılabilecektir.

10 Bir Örnek; Controller beynimiz , Model sinirlerimiz , View ise kas, burun, göz, kulak vb. 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ğlar (M->V). Tüm MVC süreci bunula özetlenebilir.

11 Neden Gereksinim Duyuldu ?
Webforms’daki kontrollerin istenildiği gibi yönetilememesi ve karmaşık sayfa çıktıları . Asp.net Webforms projelerinde Postback sonrasında da sayfadaki verilerin tutulması için kullanılan Viewstate büyük ölçekli projelerde kullanıldığında boyutu giderek artmakta ve sayfaların geç açılmasının yanısıra Servera da ayrıca yük bindirmektedir. Asp.Net MVC de Viewstate ve Postback yoktur. Bu işleri çok daha doğal yollar ile gerçekleştiriyor.

12 MVC’nin Avantajları Nelerdir ?
Uygulamayı Model, View ve Controller bileşenlerine bölerek karmaşıklığı önler. Viewstate ve sunucu taraflı form kullanmaz. Uygulamanın bütün evrelerine müdahale etmek ve hakim olmak isteyen geliştiriciler için idealdir. Front Controller deseni kullanır. Bütün istekleri (request) tek bir Controller tarafından karşılanıyor. Bu sayede MVC, çok esnek bir yönlendirme (Routing) altyapısına sahiptir. Geniş bir takım tarafından geliştirilen, uygulama davranışları üzerinde daha fazla kontrol gerektiren web uygulamaları için ideal bir yapıdır.

13 MVC’nin Avantajları Nelerdir ?
Browser Uyumluluğu önemli bir avantajıdır. İlerleyen zamanlarda MVC projesi üzerinde geliştirmeler yapmak çok daha kolaydır. Kontrol compodentleri yoktur (şuanda geliştirilme sürecinde). Bunun yerine genelde Jquery kontrolleri kullanılır. Kontroller html tagları ile oluşturulduğu için sayfa çıktıları çok daha düzenli olur. SEO optimizasyonu ve güvenlik çok daha gelişmiştir. MVC’de Spagetti kod dediğimiz iç içe geçmiş kodlamadan ve kontrol arkasına yazılmış yüzlerce satırlık kodlardan kurtuluruz.

14 Webforms’un Avantajları Nelerdir ?
Olay modeli ile geliştirme yapmaya olanak sağlar. Yüzlerce sunucu kontrolü üzerinden binlerce olay vardır. Bir sayfaya özel işlevsellikler ekleyebilen Page Controller desenini kullanır. Viewstate ve sunucu tabanlı formlar yardımıyla sayfanın durum bilgisi kolaylıkla yönetilebilir. Hızlı uygulama geliştirme yapmaya müsait olduğundan küçük gruplarla yapılacak karmaşık olmayan web projelerinde iyi çalışır. MVC modeline göre daha az kod gerektirir.

15 Asp.Net MVC Nerelerde Tercih Edilmelidir?
SEO ve Sayfa hızının önemli olduğu Data Centric uygulamalarda MVC kullanmak daha avantajlıdır. Arama motorları sayfa çıktılarını daha kolay anlıyacaktır ve MVC’nin mükemmel yönlendirme sistemi sayesinde urlyi daha temiz ve hem kullanıcılar hem de SEO için daha uygun bir şekle zahmetsizce çevrilebilir.

16 MVC 4 de Neler Gelecek Varsayılan proje şablonu geliştiriliyor. Yani default olarak açılan sayfa artık daha modern ve güzel görünecek. Jquery ile entegre olacak. Compodentler geliştiriliyor. Geliştirilmiş proje şablonunun mobil versiyonu da olacak. Windows Azure SDK'i destekleyecek. Eylül versiyonu. Asenkron kontroller için görev desteği. Visual Studio için kod tarifleri (Ufak kütüphaneler gibi kullanımı kolay ve paylaşılabilir paketler).

17 SON Hazırlayan : Volkan Dal ( Microsoft Certificated Professional Developer )


"ASP.NET MVC Nedir ? Neden Gereksinim Duyulmuştur ?" indir ppt

Benzer bir sunumlar


Google Reklamları