Solid Prensipleri Nelerdir | Solid Principles Explanation

Поделиться
HTML-код
  • Опубликовано: 9 июн 2024
  • Yazılımcılar olarak iş görüşmelerinde belki de en çok karşılaştığımız sorulardan bir tanesi SOLID prensipleri olabilir. Anlatması ve uygulaması zor olan bu konuyu en basit halleriyle bir uygulama üzerinden açıklamaya çalıştım. Her prensibin anlamını ve uygulamasını bulabileceğiniz bu videoda iyi seyirler.
    Images;
    Single Responsibility: exceptionnotfound.net/content...
    OpenClose: exceptionnotfound.net/content...
    Liskov Substitution: exceptionnotfound.net/content...
    Interface Segregation: exceptionnotfound.net/content...
    Dependency Inversion: exceptionnotfound.net/content...
    #solidprinciples #solidprensipleri #solid
    #blazor #docker #dotnet
    Kanala Abone Olmayı Unutmayın!
    To Subscribe: bit.ly/3kvj2vw
    Github: github.com/salihcantekin
    Discord: / discord
    Üyelik ayrıcalıkları için: / @techbuddytr
    00:00 Intro
    00:56 Warnings
    03:42 Single Responsibility
    09:09 Open Close
    16:26 Liskov Substitution
    26:22 Interface Segregation
    31:22 Dependency Inversion
    40:40 Outro
  • НаукаНаука

Комментарии • 57

  • @ucretsiztakipci6612
    @ucretsiztakipci6612 2 года назад +28

    Bugüne kadar hem İngilizce hem de Türkçe kaynaklar içerisindeki en iyi anlatım! Tek örnek üzerinden gitmesi, gerçek bir senaryoya benzemesi açısından inanılmaz faydalı olmuş. Ellerinize, ağzınıza sağlık!

  • @cankara9919
    @cankara9919 2 года назад +15

    Solid Prensiplerini birçok kez inceledim ama bu kadar anlaşılır olarak bir örnek üzerinden yalın ve net anlatan başka bir kaynak ile karşılaşmadım. Emeğinize sağlık gerçekten çok faydalı ve güzel bir içerik hazırlamışsınız.

    • @TechBuddyTR
      @TechBuddyTR  2 года назад +3

      Çok teşekkür ederim. Umarım faydalı ve açıklayıcı olmuştur.

  • @arfzbk
    @arfzbk 2 года назад +5

    SOLID prensiplerini açıklayıcı ve betimleyici anlatımlarınızla güzel bir şekilde özetlemişsiniz. Ellerinize sağlık…

  • @berkcandikeriz
    @berkcandikeriz 8 месяцев назад +1

    İnternette bulduğum Medium yazıları veya RUclips'da bulduğum videolar arasında tek örnek üzerinden durumu özetleyen -tabiri caizse 4 yaşındaki çocuğa anlatır gibi anlatan- bir içerik olmuş.
    Ağzınıza, emeğinize ve kurgunuza sağlık

    • @TechBuddyTR
      @TechBuddyTR  8 месяцев назад

      Teşekkür ederim :) 4 yaşındaki birisi için zor tabi ama yine de olabildiğinde açık anlatmaya çalışıyorum.

  • @ahmetdemir7029
    @ahmetdemir7029 2 года назад +4

    Prensiplerin aynı yerde kullanıldığı gerçekten güzel bir anlatım olmuş. Tebrikler.

  • @togrulceferov702
    @togrulceferov702 2 года назад +5

    ilk kez bu kadar guzel anlatan kaynakla karsilasdim.Ellerinize saglik hocam :)

    • @TechBuddyTR
      @TechBuddyTR  2 года назад

      Teşekkür ederim. Umarım faydalı olmuştur

  • @ugursesen7629
    @ugursesen7629 2 года назад +6

    büyüksün patron , emeklerine sağlık :) zevkle izliyorum

  • @teknolojiuzmaniburada
    @teknolojiuzmaniburada 2 года назад +2

    Çok teşekkür ederim. Muhteşem. Ellerinize emeğinize sağlık.

  • @ROVAKAN
    @ROVAKAN Месяц назад +1

    Cok güzel anlatım , teşekkürler

  • @eymenbatnyac6050
    @eymenbatnyac6050 Год назад +1

    Ağzınıza sağlık, mükemmel bir anlatım :)

  • @chaluri
    @chaluri Год назад +1

    Muazzam bir video ve anlatım. Emeğine sağlık

  • @dunyaxanimyusifova9034
    @dunyaxanimyusifova9034 Год назад +3

    Həqiqətən çox yaxşı izah etmiziniz, Allah razı olsun!

  • @anl5460
    @anl5460 10 месяцев назад +1

    Gerçekten en iyi anlatımlardan biri olmuş

    • @TechBuddyTR
      @TechBuddyTR  10 месяцев назад +1

      Teşekkür ederim. Umarım faydalı da olmuştur

    • @anl5460
      @anl5460 10 месяцев назад

      @@TechBuddyTR Gerçekten faydalı oldu çok teşekkürler

  • @iamsunline.3273
    @iamsunline.3273 2 года назад +1

    Hocam çok güzel anlatmışsınız, teşekkür ederim.

  • @halilengin7269
    @halilengin7269 4 месяца назад +1

    En faydalı anlatım

  • @sametsekerci2821
    @sametsekerci2821 8 месяцев назад

    Cok guzel bir video olmuş. Elinize kolunuza ağzınıza sağlık.

  • @huseyincolak5909
    @huseyincolak5909 2 года назад +4

    Emeğinize sağlık. Çok güzel bir anlatım olmuş.

  • @rizamertyagci
    @rizamertyagci Год назад +1

    Güzel bir anlatımdı. Elinize sağlık

  • @vehimii
    @vehimii Год назад +1

    Güzel anlatım olmuş, teşekkürler.

  • @uraz2164
    @uraz2164 Год назад +1

    Hocam çok güzel anlatmışsınız teşekkürler

  • @egemenbahtiyar8675
    @egemenbahtiyar8675 Год назад +1

    Çok güzel anlatım hocam ağzınıza sağlık

  • @mehmettahiryldrm4433
    @mehmettahiryldrm4433 2 года назад +3

    Çok Teşekkkürler emeğinize sağlık. :)

  • @adembulutapp
    @adembulutapp 2 года назад

    Çok güzel anlatım, ağzına sağlık

  • @by1740
    @by1740 Год назад

    Emeğinize sağlık. Mükemmel anlatım !!

  • @naibresidov9662
    @naibresidov9662 2 года назад +2

    Tesekuller

  • @hulyagv1895
    @hulyagv1895 2 года назад +1

    Teşekkürler

  • @mertcelik7577
    @mertcelik7577 9 месяцев назад +1

    mükemmel

  • @umutcan4684
    @umutcan4684 6 месяцев назад

    Video icin tesekkurler. Tek bir ornekte hepsinin anlamlai bir sekilde incelenmis olmasi daha iyi olmus cunku farkli farkli ornekler uzerinden yuruyunce bir projede tam olarak nasil ele alinir akilda olusmuyordu. Ayrica sunu belirtmek isterim ki SOLID'e uygun bir proje gelistirmek cogu zaman cok zordur cunku ozellik sizin deneyiminiz ve projede suresi bunda cok onemli bir faktor. Single ve dependency prensiplerini uygulamak cok onemli oluyor.

  • @soyermert
    @soyermert 2 года назад

    teşekkürler🙏

  • @mehmetakifsivri9187
    @mehmetakifsivri9187 Год назад

    Teşekkürler. Güzel bir anlatımınız var. Anlayamadığım bir konu var. Dependency Inversion Principle'ı uygulayarak bypass etmeyi ve sürekli Trip Info Logger'a yeni bir metod eklemekten kurtulma olayını anladım ama neden trip infoyu da aradan çıkartım catchlerde direk germany logger ve localstorage logger altındaki log metodlarını kullanmıyoruz.Trip infoda başka yapılacak eylemler mi var? Varsa örnek verebilir misiniz?

  • @muhammedmustafavanl9463
    @muhammedmustafavanl9463 2 года назад +3

    🔥🧨

  • @ucamayanejderya
    @ucamayanejderya Год назад

    Hocam Selamlar. Dependenct invercionu ioc de nasıl uygulayacagiz. TripİnfoLoggeri Generic Yaparak mı yoksa kullanacagimiz sinifta (dependency injection yaparken)mecbur newleyecek miyiz

  • @SamandarImamaliyev
    @SamandarImamaliyev 6 месяцев назад

    merhaba, open-closed prensipinde BMW ve Mercedes classlarına GetCostPerKM metodu eklemek single responsibility-i bozmuş olmuyormu. bide Liskov substitution da single responsibility-i bozmuyormu?

  • @nsh2401
    @nsh2401 2 месяца назад

    14.20'de km'de yakılan yakıtın fiyatını abstract fonksiyon içinde return edilen bir value olarak yazmak yerine pulic final olarak tanımlasak ne gibi bir fark olabilir? açıklarsanız sevinirim

  • @gesat03
    @gesat03 Год назад

    Hocam aklınıza sağlık muhteşem bir anlatım olmuş. Benim sadece tam emin olamadığım konu şu : Mesela öyle bir durum oluştu ki, send email kullanmayalım ama multy emaili kullanalım dediğimizde vermiş olduğunuz örnekte multy email funksiyonunu single email fonksiyonundan ayırmamız gerekicek sanırım. Onuda sadece single emailde yapmış olduğumuz gibi bir fonksiyon oluşturup, ona ek foreach eklemek yeterli olacak mıdır?

    • @TechBuddyTR
      @TechBuddyTR  Год назад

      Mail'in to kısmına birden fazla kişiyi ekleyerek de çoklu gönderim yapabiliriz. Ama daha iyi bir yöntem arıyorsak evet tek mail gönderme ve toplu mail gönderme süreçlerini de ayırabiliriz. Daha sonra foreach ile de gönderimlerini sağlayabiliriz :)

  • @ABars-kx8pq
    @ABars-kx8pq Год назад

    Öncelikle anlatımız ve kanaldaki tüm içerikler için çok teşekkür ederim. SOLID anlatırken yaptığınız örnekle ilgili bir sorum olacak. Liskov prensibini anlatırken BMW nin talebi üzerine yaptığımız değişiklikte Açık-Kapalı prensibine aykırı mı davrandık? Kendi içimde cevabı net olarak veremedim, aydınlatırsanız sevinirim.

    • @TechBuddyTR
      @TechBuddyTR  Год назад

      Neden bir şeyi değiştirdiğimizi düşündünüz? Değiştirmek yerine geliştirmiştik halbuki :)
      Açık - Kapalı prensibine aykırı davranmadık :)

  • @necmettinayvaz
    @necmettinayvaz 11 месяцев назад +1

    Merhabalar. Bir mulakatta karşıma çıkan bir soru entity framework de yer alan addorupdate methodu singleton responsibility ye uyuyor mu sence şeklinde? Normal Singleton Responsibility nin tarifi her method tek işi yapmalı şeklinde tarif edilir. Bu konuda sizin görüşünüzü almak isterim.

    • @TechBuddyTR
      @TechBuddyTR  11 месяцев назад +1

      Evet SOLID prensiplerinin ilki Single Responsibility'i ifade eder, her en küçük metod tek iş yapmalı şeklinde. EF içindeki bu kuralı bozuyor gibi görünüyor ki bence %51 bozuyor ama diğer yandan da uygulama dışında bir dünyada bir kontrol yapmak ve sonra o şarta göre update etmek gibi bir zahmetten kurtulmak için bir Extension metod olarak düşünebiliriz bunu. WebApi lerde update edildiğinde update edilen entity, Add yapıldığında da yine DB ye eklenmiş olan Entity Response olarak geri dönülebilir ki çoğunlukla da böyle yapılıyor. Burada aslında dediğim gibi bunu extension metod olarak düşünebiliriz, bizi DB ye açılan bağlantı sayısı konusunda hızlandırdığı için. O yüzden %51 bozuyor %49 bozmuyor diyebiliriz :)

  • @homeyasamal8474
    @homeyasamal8474 2 года назад +3

    Like

  • @thesandboxgamingvideos
    @thesandboxgamingvideos 2 года назад +1

    21:47 burada methodları interface'e çevirdik ya kurala uymuyor diye. Interface olmadan da o methodlar her bir class'a eklemek zorundayız. peki interface niye var orda o zaman ? her şekilde ekleyecem ben bunu zaten. mercedes'inde içinde olacak, bmw'ninde bunları neden interface'e bağlıyoruz hocam ?

    • @TechBuddyTR
      @TechBuddyTR  2 года назад +2

      Interface ler bizim için bir sözleşme, anlaşma örnekleri. Bu örnekleri ana class ta kullanmak yerine, bunları karşılayan base class lar da olabilir. Yani bu interface i bir baseclass a verip, o baseclass ta ortak metodlarımızı yazıp onu da ana class'ımıza verebiliriz.

  • @onurd.3652
    @onurd.3652 2 года назад +2

    Hocam selamlar. Bütün kodları da paylaşabilir misiniz? Detaylı incelemek istiyorum tüm içeriği. Sevgiler.

    • @TechBuddyTR
      @TechBuddyTR  2 года назад

      Selamlar,
      Bu videonun kaynak kodları hali hazırda GitHub profilimde mevcut. Microservice projesi hariç hemen hemen tüm içerik de yine profilimde yer alıyor. Microservice projesinin kaynak kodları ise Katıl Üyelerine Yetki şeklinde tanımlanıyor

  • @huseyinunver5172
    @huseyinunver5172 7 месяцев назад

    Hocam projenizi indiremiyorum. Link hatalı olabilir yardımcı olabilirmisiniz

  • @JoligonOne
    @JoligonOne 5 месяцев назад

    hocam dependency tam oturmadı ya orası biraz karışık oldu, geri kalan süper anlaşılırdı

  • @CemilArancak
    @CemilArancak 2 года назад +2

    .net MAUI ile ilgili bir eğitim setiniz olacak mı?

    • @TechBuddyTR
      @TechBuddyTR  2 года назад +2

      Merhabalar, yakın zamanda gelmez. Ben de henüz başlamadım MAUI tarafına. :) Ama ben de öğrenince, mutlaka videosunu çekerim

    • @CemilArancak
      @CemilArancak 2 года назад +1

      @@TechBuddyTR Teşekkürler. Bekliyorum. Videolarınızı keyif alarak ve beğenerek izliyorum.