bugün
- sözlüğün en kötü yazarları12
- mossad'ın pkk planını türkiye'ye kim sızdırdığı10
- büyük günah işleyen kimsenin durumu8
- kolye7
- uslu durursanız vajinamı görebilirsiniz3
- 50 tl vs true ile bir gün6
- anlayışlı bir insanı sürekli sınamak8
- vadesini doldurmuş kibir7
- hatay usulü soslu döner2
- abd iran ateşkesinin sınanması2
- kadınları itici yapan detaylar10
- büyük meme varoşluğu2
- evrensel bezginlik anında geneleve gitmek4
- 6 haziran 20265
- beşiktaş3
- araba ön camına güneşte ne konulur4
- evli bir kadınla birlikte olmak2
- küçük memedeki hayat doluluk6
- boş kategoriler kullanan toplum4
- büyük meme gören erkeklerin daha uzun yaşaması2
- yasemin sakallıoğlu7
- 2026 haziran ayının cumartesi günleri2
- kul hakkı yemek4
- görünme arzusu ve bilinme korkusu arasındaki araf4
- sıcakta deri montla gezmek7
- arapperest kişilik bozukluğu semptomları7
- güne bir söz bırak4
- kırmızı5
- sevişmek istediğiniz ünlüler3
- trabzonspor3
- bilgili yazarlar2
- hem ahmet kayacı hem atatürkçü olmak19
- senin yaralarını ben saracağım diyen kadın5
- musa anter'i nasıl bilirdiniz3
- kürtçe ıslık çaldığı için hapsi istenen kürt3
- tip hariç kadınları aşık ettirebilecek şeyler8
- 5 haziran 2026 ekrem imamoğlu'na kurulan kumpas5
- meyveli soda içen erkek2
- degersiz hissettirmek3
- erkekler neye aşık olur sorunsalı4
- üstteki yazar hakkında fikrini söyle40
- rümeysa eker11
- taşkınlığı keşfeden zihin4
- tanrının insana verdiği en büyük ceza3
- flört uygulamalarında algoritma hatası3
- modern felsefede tefekkür olmaması3
- homeros devrinde yüce dangalak olmak2
- beyaz tenli olmak6
- bu ülkede pezevenkler kemalisttir28
- birader hedesi3
model
view
controller.
kelimelerinin bas harfleriyle anilan software design patterndir.
model -> sisteminizde saklanan bilgi (db)
view -> programinizin kullanici arayuzu( gui )
controller -> asil yapilan is ( business logic )
web sitesi yaparken bu mantigi benimsemis frameworkleri kullanmak isleri buyuk oranda kisaltacaktir.
(bkz: web2py)
view
controller.
kelimelerinin bas harfleriyle anilan software design patterndir.
model -> sisteminizde saklanan bilgi (db)
view -> programinizin kullanici arayuzu( gui )
controller -> asil yapilan is ( business logic )
web sitesi yaparken bu mantigi benimsemis frameworkleri kullanmak isleri buyuk oranda kisaltacaktir.
(bkz: web2py)
.net framework platformunda kod yazan eşrafın bilmesi gereken güzelliktir. ado.net entity framework veya linq ile kullanılırsa tadından yenmez. asp.net üzerinden videolu anlatımlarla takip edilebilir.
(bkz: design patterns)
edit:...
(bkz: design patterns)
edit:...
asp.net versiyonu dusunuldugunde, web forms un veriyi her yerde tasima ve diger cesitli hantalliklarinda kurtulmamizi saglayan
yeni teknoloji. Proje yaratildiginda account handling ve jquery library leri otomatik olarak olusturulur. Surukle birak seklindeki sayfa olusturma olayi ise HTML elemanlari disinda mumkun degildir.
yeni teknoloji. Proje yaratildiginda account handling ve jquery library leri otomatik olarak olusturulur. Surukle birak seklindeki sayfa olusturma olayi ise HTML elemanlari disinda mumkun degildir.
dünyayı dolaşmak için uçak ve bisiklet arasındaki karşılaştırma neyse mvc'li ve mvc'siz kod yazma da ona benzer bişeydir. bisikletini alıp yola istediğin an çıkarsın uçak ise öyle değildir planlı programlıdır. ama ciddi anlamda yola konulunca ...
.net platform dilleri ya da php farketmeksizin yazılımcıların bir an önce öğrenmesi gereken güzellik.
Php' de yii, ci gibi framework' ler ile kısa sürede * blog siteleri kodlayabilirsiniz. sözlükler için de benzer süreler geçerli.
net' te ise ön katmanda(*) Razor motorunu kullanarak, arka planda ise Repository, unit of work, base class gibi yaklaşımlarla proje süreleri hayli kısalmakta.
Nedir MVC?
M : Model => Veritabanı sanallamasının yapıldığı kısımdır. yani 3 tablo barındıran basit bir veritabanı oluşturduysanız, modelde bu tabloların EF gibi güzelliklerle sanallamaları yapılır.
V: View => Bildiğimiz arayüzdür. Modelden gelen veri Controller'da işlenir ve View' e aktarılır. HTML5, JavaScript(Google Dart hayal değil), Css, gibi önyüz dilleriyle kodlanır. backend kodu @ ile frontend kodun içine embed edilir.*
C : Controller => Controller MVC mantığında beyin kısmıdır. Veritabanından raw data çekilir ama View' da kullanıcının görmek isteyeceği veri ve etkileşimi Controller kısmında ayarlanır. Katmanlı tasarımda kullanılan BLL kısmıdır aslında. Frontend kodu yazılacaksa şayet, ya da herhangi bi string frontende taşınacaksa ViewBag gibi çözümler kullanılır.
*
Php' de yii, ci gibi framework' ler ile kısa sürede * blog siteleri kodlayabilirsiniz. sözlükler için de benzer süreler geçerli.
net' te ise ön katmanda(*) Razor motorunu kullanarak, arka planda ise Repository, unit of work, base class gibi yaklaşımlarla proje süreleri hayli kısalmakta.
Nedir MVC?
M : Model => Veritabanı sanallamasının yapıldığı kısımdır. yani 3 tablo barındıran basit bir veritabanı oluşturduysanız, modelde bu tabloların EF gibi güzelliklerle sanallamaları yapılır.
V: View => Bildiğimiz arayüzdür. Modelden gelen veri Controller'da işlenir ve View' e aktarılır. HTML5, JavaScript(Google Dart hayal değil), Css, gibi önyüz dilleriyle kodlanır. backend kodu @ ile frontend kodun içine embed edilir.*
C : Controller => Controller MVC mantığında beyin kısmıdır. Veritabanından raw data çekilir ama View' da kullanıcının görmek isteyeceği veri ve etkileşimi Controller kısmında ayarlanır. Katmanlı tasarımda kullanılan BLL kısmıdır aslında. Frontend kodu yazılacaksa şayet, ya da herhangi bi string frontende taşınacaksa ViewBag gibi çözümler kullanılır.
*
php framework lerinin temel yapı taşı olan tasarım deseni. küçük projeler için codeigniter her türlü işi görür ama mevzu giderek büyüyüp karmaşıklaştıkça laravel,symfony2 gibi alanının en iyisi olan kod kütüphanelerinin toplandığı frameworkleri kullanmak daha iyi olur.
model, view, controller tanımlarını herkes yapmış.
Asp.NET MVC olarak anılıyor olsa da, MVC bir tasarım desenidir. PHP Framework'lerinde de bu yapı kullanılmakta olup, database'den alınan işlemlerin farklı, gelen verilerin işlendiği yerin farklı, görüntünün geldiği yerin farklı olduğu güzel bir yazılım deseni.
Asp.NET MVC olarak anılıyor olsa da, MVC bir tasarım desenidir. PHP Framework'lerinde de bu yapı kullanılmakta olup, database'den alınan işlemlerin farklı, gelen verilerin işlendiği yerin farklı, görüntünün geldiği yerin farklı olduğu güzel bir yazılım deseni.
asp.net'in alternatifi değildir. asp.net ikiye ayrılır, biri asp.net web forms, diğeri mvc.
web forms aslında web sayfaları desktop uygulamalarındaki gibi oluşturmak için geliştirilen zımbırtı. yani desktop uygulaması geliştirirken forma label, buton,.. sürükleyip bırakır gibi web sayfası tasarlansın diye yapıldı. hiç html bilinmesine gerek kalmadan butonu sürükleyin çift tıklayın eventi oluşsun kodlarınızı yazın, bu kadar basit ama tabi düzgün bir web sayfası için html bilmek şart. mvc ise sağlam html bilgisi gerektirir.
farkları nelerdir?
- server kontrolleri
web forms'da server kontolleri bulunur. bunlar toolboxta bulunan örneğin button, label, checkbox, radiobutton, drpdownlist,.. Sürükle bırak şeklinde kolayca sayfanıza ekleyebiliyorsunuz.
mvc'de hazır kontrol yok. yani her nesneyi kendiniz oluşturmak zorundasınız.
web forms burda daha iyi gibi görünebilir ama öyle değil. server kontrolleri çalışma zamanında html'e çevrilir yani "asp:button" tagi çalışma zamanında "input type='button'" olacaktır. buda sayfayı yavaşlatan bir durumdur, mvcde bu htmle dönüştürme aşaması bulunmadığı için performans sağlanır.
- events
web formsda butonun çalıştıracağı kodları butona çift tıkladığınızda sizin için oluşturulan click event alanına yazabilirsiniz. yada en basitinden ilk sayfa açılışında form_load eventi tetiklenir buraya yazdığınız kodlar sayfa yüklendiğinde çalışır.
mvcde event mekanizması yok. örneğin butona tıklandığında iş yaptıracaksanız htmldeki form post metodunu kullanmalısınız.
web forms yine burda daha iyi gibi görünsede mvc öğrendiğinizde event mekanizmasının olmaması sizi hiç zorlamayacak tersine daha kolay şekilde kodlarınızı işletebileceksiniz.
- viewstate
web formsda sayfanın post olması yani sayfada bir butona tıklanması durumunda sayfa sunucuya gidip geldiğinde kontrollerin bir önceki durumunu korumak için bilgiler viewstate içinde saklanır. mesela textbox var ve içine yazı yazdınız ve sayfadaki her hangi bir butona bastınız, sayfa sunucuya gidip geldi ama bu aşamada texbox içindeki yazı otomatik olarak viewstate içine yazıldı sayfa yüklendiğinde viewstate içinden yazı tekrar alınıp texboxa yazıldı. özellikle form loaddaki işlemler için kullanışlıdır. veritabanından sadece 1kez verileri çekersiniz diğer türlü her seferinde post işlemi yapıldığında tekrar veri çekmek zorunda kalınırdı.
mvcde viewstate olmadığı için sayfanın son durumu otomatik saklanmaz sizin bunun için azda olsa fazlasan çaba harcamanız gerek.
burda yine web forms daha iyi gibi görünsede viewstate sayfanın boyutuna bağlı olarak çok büyük veri saklar ve bu veri her sayfa işleminde sunucu ve istemci arasında gider gelir buda yavaşlığa neden olur. mvcde viewstate olmaması performans arttırır.
not: web forms kullanındığında viewstate kapatılabiliyor.
- code behind
web formsda aspx ve aspx.cs uzantılı 2 dosya bulunur. aspx dosyasına html,css,js kodlarınızı yazarsınız ve c# kodlarınızı aspx.cs dosyasına yazarsınız. böylece c# kodları ve html kodları birbirine karışmaz.
mvcde code behind yok ama daha kullanışlı şekilde html ve c# kodlarınızı ayırabiliyorsunuz. detaylar aşağıda.
web formsda projenizi kendiniz katmanlı şekilde olutşrumalısınız ama mvcde gayet basit şekilde katmanlı mimari önceden sizin için tasarlanmıştır.
mvc nedir?
model - view - controller bir design patterndir, sıfırdan yapılmış bir teknoloji değildir, siz web sitesi yaparken bu mimariye uygun şekilde kod yazarsınız. yani aslında yukarda dediğim gibi siz yine asp.net dll'ini kullanmış oluyorsunuz ama kodlarınızı yazarken c# kodlarınızı controller'larda, html kodlarını view'larda ve nesnelerinizi model'de tutarsınız ve mvc mimarisini kullanmış olursunuz.
bir mvc projesi açtığınızda jquery, bootstrap falan önceden projeye eklenmiştir. hatta birde bootstrap kullanılarak yazılmış örnek bir web site bile projeye dahil edilmiştir.
appstart klasöründeki routeconfig dosyasında url rewrite işlemlerini çok kolayca yapabilirsiniz.
bundleconfig dosyasında css ve javascript dosyalarınızı bundle etmek gayit basit. bunun anlamı örneğin 5tane css dosyasını bundleconfig dosyası içinde yazılmış örnekteki gibi bundle ettiniz ve view yada layout dosyasında bundle'ı referans verdiniz. artık web sayfası çalışırken bu 5css dosyası birleşitirilir tek css haline getirilir boşluklar silinir yorum satırları silinir ve css dosyası minimize edilmiş olur böylece web sayfanıza ekstra performans sağlanmış olur.
neyse çok uzatmiyim, mvcnin efsaneliği yazmakla bitmez.
web forms aslında web sayfaları desktop uygulamalarındaki gibi oluşturmak için geliştirilen zımbırtı. yani desktop uygulaması geliştirirken forma label, buton,.. sürükleyip bırakır gibi web sayfası tasarlansın diye yapıldı. hiç html bilinmesine gerek kalmadan butonu sürükleyin çift tıklayın eventi oluşsun kodlarınızı yazın, bu kadar basit ama tabi düzgün bir web sayfası için html bilmek şart. mvc ise sağlam html bilgisi gerektirir.
farkları nelerdir?
- server kontrolleri
web forms'da server kontolleri bulunur. bunlar toolboxta bulunan örneğin button, label, checkbox, radiobutton, drpdownlist,.. Sürükle bırak şeklinde kolayca sayfanıza ekleyebiliyorsunuz.
mvc'de hazır kontrol yok. yani her nesneyi kendiniz oluşturmak zorundasınız.
web forms burda daha iyi gibi görünebilir ama öyle değil. server kontrolleri çalışma zamanında html'e çevrilir yani "asp:button" tagi çalışma zamanında "input type='button'" olacaktır. buda sayfayı yavaşlatan bir durumdur, mvcde bu htmle dönüştürme aşaması bulunmadığı için performans sağlanır.
- events
web formsda butonun çalıştıracağı kodları butona çift tıkladığınızda sizin için oluşturulan click event alanına yazabilirsiniz. yada en basitinden ilk sayfa açılışında form_load eventi tetiklenir buraya yazdığınız kodlar sayfa yüklendiğinde çalışır.
mvcde event mekanizması yok. örneğin butona tıklandığında iş yaptıracaksanız htmldeki form post metodunu kullanmalısınız.
web forms yine burda daha iyi gibi görünsede mvc öğrendiğinizde event mekanizmasının olmaması sizi hiç zorlamayacak tersine daha kolay şekilde kodlarınızı işletebileceksiniz.
- viewstate
web formsda sayfanın post olması yani sayfada bir butona tıklanması durumunda sayfa sunucuya gidip geldiğinde kontrollerin bir önceki durumunu korumak için bilgiler viewstate içinde saklanır. mesela textbox var ve içine yazı yazdınız ve sayfadaki her hangi bir butona bastınız, sayfa sunucuya gidip geldi ama bu aşamada texbox içindeki yazı otomatik olarak viewstate içine yazıldı sayfa yüklendiğinde viewstate içinden yazı tekrar alınıp texboxa yazıldı. özellikle form loaddaki işlemler için kullanışlıdır. veritabanından sadece 1kez verileri çekersiniz diğer türlü her seferinde post işlemi yapıldığında tekrar veri çekmek zorunda kalınırdı.
mvcde viewstate olmadığı için sayfanın son durumu otomatik saklanmaz sizin bunun için azda olsa fazlasan çaba harcamanız gerek.
burda yine web forms daha iyi gibi görünsede viewstate sayfanın boyutuna bağlı olarak çok büyük veri saklar ve bu veri her sayfa işleminde sunucu ve istemci arasında gider gelir buda yavaşlığa neden olur. mvcde viewstate olmaması performans arttırır.
not: web forms kullanındığında viewstate kapatılabiliyor.
- code behind
web formsda aspx ve aspx.cs uzantılı 2 dosya bulunur. aspx dosyasına html,css,js kodlarınızı yazarsınız ve c# kodlarınızı aspx.cs dosyasına yazarsınız. böylece c# kodları ve html kodları birbirine karışmaz.
mvcde code behind yok ama daha kullanışlı şekilde html ve c# kodlarınızı ayırabiliyorsunuz. detaylar aşağıda.
web formsda projenizi kendiniz katmanlı şekilde olutşrumalısınız ama mvcde gayet basit şekilde katmanlı mimari önceden sizin için tasarlanmıştır.
mvc nedir?
model - view - controller bir design patterndir, sıfırdan yapılmış bir teknoloji değildir, siz web sitesi yaparken bu mimariye uygun şekilde kod yazarsınız. yani aslında yukarda dediğim gibi siz yine asp.net dll'ini kullanmış oluyorsunuz ama kodlarınızı yazarken c# kodlarınızı controller'larda, html kodlarını view'larda ve nesnelerinizi model'de tutarsınız ve mvc mimarisini kullanmış olursunuz.
bir mvc projesi açtığınızda jquery, bootstrap falan önceden projeye eklenmiştir. hatta birde bootstrap kullanılarak yazılmış örnek bir web site bile projeye dahil edilmiştir.
appstart klasöründeki routeconfig dosyasında url rewrite işlemlerini çok kolayca yapabilirsiniz.
bundleconfig dosyasında css ve javascript dosyalarınızı bundle etmek gayit basit. bunun anlamı örneğin 5tane css dosyasını bundleconfig dosyası içinde yazılmış örnekteki gibi bundle ettiniz ve view yada layout dosyasında bundle'ı referans verdiniz. artık web sayfası çalışırken bu 5css dosyası birleşitirilir tek css haline getirilir boşluklar silinir yorum satırları silinir ve css dosyası minimize edilmiş olur böylece web sayfanıza ekstra performans sağlanmış olur.
neyse çok uzatmiyim, mvcnin efsaneliği yazmakla bitmez.
asp net katili olan webform ların sonunu getiren teknoloji.
öğrenmesi zordur. component yoktur. kullanımı basittir.
asp ve php frameworkları vardır.
asp net mvc framework
php faces mvc framework
asp net artık php rakip olabilir. mvc den önce bariz php üstünlüğü vardı.
öğrenmesi zordur. component yoktur. kullanımı basittir.
asp ve php frameworkları vardır.
asp net mvc framework
php faces mvc framework
asp net artık php rakip olabilir. mvc den önce bariz php üstünlüğü vardı.
güncel Önemli Başlıklar
