Yazılım Mimarileri ve Tasarım Desenleri Üzerine

Asp.NET Core 2 MVC’de View Component Yapısı

Merhaba,

Klasik Asp.NET MVC mimarisinde kullandığımız partial view yapılarına alternatif olarak Asp.NET Core 2 MVC mimarisinde View Component yapıları geliştirilmiştir. Alternatif olarak nitelendiriyoruz çünkü partial view yapıları halen Asp.NET Core MVC mimarisinde de işlevsel olarak mevcudiyetini korumaktadır. Dolayısıyla bu içeriğimizde View Component yapılarını inceleyecek ve partial view yapılarının işlevsel açıdan hangi durumlarının, View Component yapılarının geliştirilmesine neden olduğunu açığa çıkarmaya çalışacağız.

İlk olarak partial view yapısını ne amaçla, nasıl kullanıyorduk bunun üzerine duralım. Web sitemiz üzerinde hemen hemen her modülde yahut sayfada birebir benzer işlemleri gerçekleştireceksek yahut aynı kodları çalıştırmamız gerekecekse bunun için her sayfa üzerinde hususi çalışmak yerine, bu ihtiyacı partial view yapısı ile global hale getirip lazım olan her noktada ilgili partial view’i çağırarak ihtiyacımıza dönük genelleştirilmiş bir çözüm sağlayabiliyorduk.

Yapısı itibariyle partial view, ihtiyacımızı büyük ölçüde gideren bir özellik olmasına rağmen server işlemlerine ihtiyaç duyulduğu noktada MVC paternine fazladan yük bindirmekte ve lüzumsuz bir maliyet israfına sebebiyet verebilmektedir. Bu maliyet, her server işleminde Controller katmanıyla iletişim kurmak zorunda kalmasından dolayı arz etmektedir. Aşağıdaki görseli incelerseniz eğer en basitinden bir veritabanı işlemi yapmak için bile Controller katmanına erişilmesi gerekilmekte ve o katman üzerinden gerekli birimlere talepte bulunulmak mecburiyetindedir.

İşte bu duruma istinaden .NET geliştiricileri Asp.NET Core 2 MVC’de partial view’in bu yükünü ortadan kaldırabilmek için View Component yapılarını geliştirmişlerdir. View component yapıları aşağıdaki görselde olduğu gibi bir işlevselliğe sahiptirler;

Yani herhangi bir server tabanlı işlemde ya da görselde olduğu gibi ufak bir veritabanı işleminde Controller’a bağlanma gereği duymaksızın direkt olarak ilgili katmana erişim sağlayarak işlemini icra edebilmekte ve gereken sonuçları elde edebilmektedir.

View Component Oluşturma

View Component yapılarını projemizde “ViewComponents” ya da “Components” vs. gibi anlamlı isimde bir klasör altında toplayarak aşağıdaki kurallar çerçevesinde inşa edebiliriz.

Evet, gördüğünüz gibi Asp.NET Core view component yapıları ile partial view yapısındaki controller bağımlılığını ortadan kaldırmakta ve sistem üzerindeki lüzumsuz iş ve yersiz maliyeti minimize ederek bizlere sunmaktadır.

İlgilenenlerin faydalanması dileğiyle…

Sonraki yazılarımda görüşmek üzere…

İyi çalışmalar dilerim…

Exit mobile version