1 / 17

ASP.NET MVC

ASP.NET MVC. Nedir ? Neden Gereksinim Duyulmuştur ? WebForms’a Göre Avantaj ve Dezavantajları Neler? Nerelerde ve Neden Tercih Edilmelidir ?. Asp .Net MVC Nedir ?.

Download Presentation

ASP.NET MVC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP.NET MVC Nedir ? Neden Gereksinim Duyulmuştur ? WebForms’a Göre Avantaj ve Dezavantajları Neler? Nerelerde ve Neden Tercih Edilmelidir ?

  2. Asp.Net MVC Nedir ? • 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. • Model – View – Controller kelimelerin baş harflerinden oluşan MVC FrameworküAsp.Net teknolojisi üzerine geliştirilmiş bir programlama sitilidir.

  3. Model – View - Controller • 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. • Bunu aslında üç katmanlı mimariye benzetebiliriz. • Model : veriye ulaşan , • View : veriyi sunan, • Controller : Veriyi işleyen katman gibi düşünebiliriz.

  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 EntityFramework 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 Actionmetodları 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 UserInterface 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’unAvantajları 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. • Viewstateve 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 AzureSDK'i destekleyecek. Eylül 2011 1.5 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 ) http://www.volkandal.com

More Related