12 yıllık bir yazılımcı gözüyle ilk maddeyi işin genel özeti olarak yazacağım, gerisini okumak size kalmış.
- İLK MADDE : Web programlamaya (güncel tabiriyle bulut bilişim) çağımızın teknolojisi diyebiliriz ve web tabanlı bir yazılım geliştirmeye çalıştığımızda karşımıza başlıca iki adet geliştirme dili çıkıyor PHP ve ASP.NET, php şuan konumuz değil onun için ASP.NET üzerinde duracağım. 2 dili de yüksek seviyede kullanan biri olarak, Web Forms ların ortaya çıkış amacı, ileriyi gören Microsoft firmasının, Visual Studio kullanarak masaüstü program geliştiren programcılarını kaybetmemek amacı ile geliştirdiği, programcılarına web programlamayı (server side ve client side) öğretmek yerine Visual Studio ve ASP.Net Web Forms öğreten, fakat öğretirken web teknolojilerinden çok çok uzak bıraktığı bir teknolojidir. MVC (Model-View-Control) ise tüm web teknolojilerini özgürce kullanabileceğiniz, geliştirilmesi kolay ve web programlama geliştirme mantığına uygun bir mimari desendir.
- ASP.NET Web Forms bir çok hazır kontroller ile kullanıcıya kısa vadede yardım sağlayabilir ancak uzun vadede sıkıntılar ortaya çıkacaktır.
- MVC de ise bu kontrolleri kendi mantığınız ile yazdığınız için yapabilecekleriniz hayal gücünüzle sınırlıdır.
- ASP.NET Web Forms da birim test yapmak çok zordur, MVC de ise çok kolaydır.
- Performans olarak MVC daha verimlidir.
- ASP.NET Web Forms da tekrar kullanılabilir kodlar yazmak daha zordur, ve kendinizi sürekli tekrar etmek zorunda kalırsınız. MVC de ise bu durum tam tersidir.
- MVC de HTML üzerinde tam kontrol sağlarsınız.
- MVC Ekip çalışmasına tam uyumu iken, ASP.NET Web Forms ekip çalışmasına uygun değildir.
- MVC de SEO ve URL routing işlemleri özünde tanımlıdır.
- Eğer Hava Durumunu gösterecek basit bir sayfa yapmak istiyorsanız ASP.NET Web Forms kullanmanız sizi hızlandırır.
- Daha gelişmiş komplike uygulamalar yapmak ve öğrenmek istiyorsanız MVC kullanmanız gerekmektedir.
- Şuan MVC daha yeni bir teknoloji olduğundan ASP.NET Web Forms kadar kaynağı yoktur.
Model : Projenin iş mantığının tasarlandığı bölümdür, veritabanı modelleri başta olmak üzere görüntü verebilecek ve işlem yapılabilinecek modelleri burada tanımlarsınız. Bu modelleri projenizde size fazlasıyla yardımı olurlar. Doğrulama (Validation) işlemleri bu bölümde yapılabilinir.
View : Projenin arayüzü veya kullanıcı arabimi de denilebilir (User Interface – UI), Bu bölümde HTML dosyaları üzerinde işlemler gerçekleştirilir.
Control : Projenin akışını, Model ile View arasındaki etkileşimleri kontrol eder. View dan gelen istekler Model yarımıyla yorumlanıp ne yapılacağı konusunda değerlendirilir. Fonksiyonel işlemlerin yapıldığı katmandır.