İçeriğe geç

Yeni Başlayanlar için MVC Örnekleri – 1

MVC tasarım kalıbı piyasadaki çoğu firmanın ihtiyaç duyduğu bir kalıp haline geldi. Seri haline getirmeyi planladığım MVC Örnekleri dizisinin ilki olan bu yazıda öncelikle bu tasarımın bazı avantajlarını belirtmek istiyorum.

mvc

SEO tabanlı uygulama yazarken eskiden(Web Form) gerekli konfigürasyonları hazırlamak gerekliyken artık(MVC) bu ayarlar hazırda gelmektedir.

Web Form ile hazırladığımız projelerimizde ViewState sayfalara ek bir yük bindiriyordu. Örneğin sunucuya gönderilen istek sonrası dönen cevapta sayfanın kaynak kodlarına baktığımızda hidden input nesnelerini görebiliriz. Fakat MVC içinde ViewState işlevini gören bir mekanizma mevcuttur ve bu mekanizma sunucuya ek bir yük bindirmez.

MVC ile sunum katmanındaki(html, css …) kodlar ile projenin işlevselliğini sağlayacak olan katmanları birbirinden ayırır ve daha anlaşılır bir kodlama oluşur. Bu durum takım çalışmasına da olanak sağlar.

 

Fotoğraf Galerisi

Bu ilk yazıdam MVC tasarımını kullanarak basit bir fotoğraf galerisi hazırlayacağız. Öncelikle fotoğraf verilerine erişim yapabilmemiz için bir veri kaynağımız olmalıdır ve bu verilere erişim yapabilmemizi sağlayacak olan ilgili nesne tanımlamalarımızı yapmalıyız.

Veri kaynağımızı aşağıdaki gibi XML olarak belirleyebiliriz.

<?xml version="1.0" encoding="utf-8" ?>
<Photos>
  <Photo>
    <Path>/Content/img/turkiye.jpg</Path>
    <Title>- Türkiye -</Title>
  </Photo>
...
...

Şimdi veriye erişim esnasında kullanacağımız nesnemizi tanımlayacağız.

    public class Photo
    {
        public string Path { get; set; }
        public string Title { get; set; }
    }

Şimdide veriye erişimimizi yapmamıza olanak tanıyan bir model nesnemiz olmalıdır. Bunu PhotoModel ismi ile oluşturuyoruz ve veriye erişim için gerekli kodlar aşağıdaki gibidir.

    public class PhotoModel : List<Photo>
    {
        public PhotoModel()
        {
            string PotoPath = HttpContext.Current.Server.MapPath("/App_Data/Photos.xml");
            XDocument xDoc = XDocument.Load(PotoPath);

            var PhotoList = (from p in xDoc.Descendants("Photo")
                             select new Photo()
                                  {
                                      Path = p.Element("Path").Value,
                                      Title = p.Element("Title").Value
                                  }).ToList();
            this.AddRange(PhotoList);
        }
    }

Şimdi sıra veriye erişimi yapıp bunu sunum tarafına gönderecek olan bir controller hazırlamaya geldi. Bunun için GalleryController ismiyle bir controller hazırlıyoruz.

    public class GalleryController : Controller
    {
        public ActionResult Index()
        {
            List<Photo> result = new PhotoModel();
            return View(result);
        }
    }

Son olarak sunum tarafında elde etmiş olduğumuz fotoğrafları gösterme kısmını hazırlamalıyız.

@foreach (var ItemPhoto in Model)
{
<li>
<a href="@Url.Content(ItemPhoto.Path)">
<img alt="@ItemPhoto.Title" src="@Url.Content(ItemPhoto.Path)" class="thumbnail-border" width="120" height="120" title="@ItemPhoto.Title"/>
</a>
<span class="resimyazi">@ItemPhoto.Title</span>
</li>
}

Fotoğraf Gelerisi

MVC tasarımını kullanarak basit bir fotoğraf galerisi hazırladık. Bu minik projeye ait kodları şuradan indirebilirsiniz. Sizler de buna benzer uygulamalar hazırlayarak pratik yapabilirsiniz. Hekrse mutlu kodlamalar dilerim. 🙂

Tarih:MVC

15 Yorum

  1. Yanlş anlama da bişey söylicem böyle öğretemezsin şimdi de şunu yapacağız şimdi de bunu yapacağız diye illaki bizden bilgili ve zekisindir ama biraz daha karşındakini en alt seviye olarak düşün bide 1. örneğin nerden açılıyo bu mvc nerden kapanıyo onu bile dememişsiniz 🙂 coook başarılar.

  2. Belli bir programlama seviyesindeki kişilere yönelik bir yazı gibi değerlendirebilirsin!

  3. ali ali

    sırf yapmış olmak için yapılmış bir uygulama örneği..düzensiz,özensiz..

  4. muhammed muhammed

    sen burda bunu yapcaz bunu yapcaz yazmışsın ama kodların ne olduğunu bilmiyen insanlar burdan bişey anlamazlar kodların ne oldugunu solemelisin ve mvc nerden nası açılıyo bastan herseyını yazmalısın gostermelisin bu şekilde kimse bişey öğrenemez

  5. Alper Alper

    Arkadaslar bence biraz sacma yorum yapmis. Bence cok anlasilir. Zaten belli bir programlama seviyesi olmayan anlayamaz. MVC nerden acilir nerden kapanir yazmis biri. Iyi güldüm ona.
    Nazim Kardes bence güzel olmus, devam et. Her yorumada takilma.
    Iyi günler

  6. kobe kobe

    bence de iyi bir örnek olmuş eline sağlık.

  7. wow wow

    belli bir programlama seviyesi olmayan anlayamaz nedir arkadaşlar ?? başlığı değiştirin ozaman yeni başlayanlar için mvc örneği yazıp seo kasmayın !

  8. ahmet uzun ahmet uzun

    çok güzel olmuş nazımcığım. gayet anlaşılır.

  9. serkan serkan

    bence klasik htmlden daha uzun sürmüş

  10. mvc de deneyim artırmak için çok çok iyi bir çalışma.tebrikler

  11. Monsieur Monsieur

    Gayet anlaşılır, kod bilmeyenler önce “merhaba dünya” yazsın sonra buraya gelsin.

  12. senaecelik senaecelik

    Programlama bilgisi olup MVC’ye yeni başlayıp çeşitli örnekler arayanlar için anlaşılır bir örnek. Teşekkürler, başarılar.

  13. Gayet güzel olmuş eline sağlık anlamayan anlamasın biz anlıyoruz.

  14. Barancan Barancan

    “Yazılıma yeni başlayan” dememiş. “Yeni Başlayan” demiş buda şu demek bence. Yazılım bilgim var ama daha önce asp,winform işte ne biliyim başka bir platform kullandım şimdide MVC kullanacağım anlamıdır. Bu sebeple model,MVC,POST vs. kavramlara hakim değilseniz MVC olayına bulaşmayın en baştan bi programlama eğitimleri izleyin arkadaşlar. Benden size tavsiye.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.