Full Stack (.NET, JavaScript&React) Bootcamp Notları — Part1 (.NET Core)

Bu yazı serisinde Yemeksepeti Full Stack (.NET, JavaScript&React) Bootcamp’i kapsamında benim de yeni öğrenmiş olduğum kavramları, okuduğum kaynaklardaki bilgileri, ödevlerimi ve örneklerimi topluyor olacağım. İleride lazım oldukça hem kendim için hem de benzer bir bootcamp sürecine giren arkadaşlar için faydası olur umarım.

API Nedir?

“Application Programming Interface” olan Türkçe’de uygulama geliştirme arayüzü anlamına gelir ve sahip olduğumuz service veya verileri dış dünyaya açıp başka uygulamaların-platformların kullanımına sunmak için belli kurallar çerçevesinde tanımlamalar yaptığımız arayüz dür.

WebAPI Nedir?

Asp .Net Web Api ise farklı türde sayısız client (browsers, mobile phones, tablets, pc, etc.) tarafından consume edilebilen HTTP protokolü üzerinden haberleşebilen servisler oluşturmak için kullanılan bir framework şeklinde tanımlayabiliriz.

Asp .Net MVC ile routing, controllers, action results, filter, model binders gibi ortak feature’lara sahip olduklarından bir takım benzerlikler göstermektedir ancak MVC Framework’ün bir parçası değildir.

Asp .net Web Api Core Asp .Net’in bir parçasıdır ve MVC veya diğer web application türleri ile birlikte kullanılabilir. Aynı zamanda bütün bunlardan bağımsız stand-alone Web services application olarakta kullanılabilir.

Extensions Kavramı

.Net derleyicisinin (compile) belirlediği kurallara göe, compile anında oluşturulan, gerçek nesnenin bir özelliği olmasa da o nesneye compile sonrası tanımlanan yöntemlerdir.

Extension Kuralları

  • Class static olmalıdır.
  • Method static olmalıdır.
  • “this” keyword’u ilk parametre olarak belirlenmelidir.

Neden Extension Kullanalım?

  • Kod akışımızda bütünlük oluşturmak
  • Doğru özellikleri doğru nesnelere aktarmak

Bu haftaki ödevimizde ise bu extensionları gördük ve bir senaryoya göre kendi yapımızı kurduk. Henüz ilk deneyimim olduğu için birçok yanlış ve eksik barındırabilir zamanla öğreneceğim :(

Senaryo

Buradaki senaryomuzda basit bir kütüphane sistemi kurdum. Geç teslim durumunda gecikme ücretini gösteriyoruz.

Model

Model klasörümüzün altında kütüphanemizin genel yapısını kurdum.

2 tane sınıf oluşturdum ve verilen propertyleri barındırıyor. get/set yöntemlerini ekledim.

Map Extensions

Burada C# dilinin syntax yapısını henüz kavrayamadığımdan dolayı eksikler olsa da ileride yazının güncel halinde hatalarımı düzeltiyor olacağım. Asıl yapmak istediğim şey itemları toplamak oluyor.

Program.cs

Programımızın çalışma kısmında geç teslim edilen kitaplara geç getirme ücret yansımasını ve bunu listelemeyi gerçekleştireceğiz.

Bu kısımda ise maksimum ödemesi olandan en düşük ödemesi olana doğru sıralama işlemini gerçekleştirdim.

Konularda henüz yeni olduğum ve dile hakimiyetim az olduğu için birçok eksik nokta var. Sizin bir fikriniz varsa çekinmeden düzeltebilirsiniz. İlerleyen dönemlerde yazının güncellenmiş halini de paylaşıyor olacağım. Okuduğunuz için teşekkürler :)

Daha fazlası ve sorularınız için bana sosyal medya hesaplarım üzerinden ulaşabilirsiniz. Linkedin |Instagram

Software Developer | my universe: https://twitter.com/NightmaresTown

Software Developer | my universe: https://twitter.com/NightmaresTown