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!
Mülakat için teknik anlatımım güçlenmesi ve örneklendirebilmem daha akıcı olması için arkaya isimi yaparken dinledim ve gerçekten çok iyi açıklamışsınız. Emeğinize sağlık
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.
İ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
Ö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.
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?
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.
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 :)
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 ?
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.
Salih hocamdan öğrendiğim bilgiler ile yanıtlıyayım interface 'ler bir işi yapabildiğimizi (bir yeteneğe sahip olduğumuzu) gösterirler. MercedesBenz class 'ının implemente 'lerini incelediğimizde IEmailSendable interface 'si MercedesBenz class 'ının bu yeteneğe sahip olduğunu bize söylüyor.
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?
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
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?
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 :)
Hocam Selamlar. Dependenct invercionu ioc de nasıl uygulayacagiz. TripİnfoLoggeri Generic Yaparak mı yoksa kullanacagimiz sinifta (dependency injection yaparken)mecbur newleyecek miyiz
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
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!
Mülakat için teknik anlatımım güçlenmesi ve örneklendirebilmem daha akıcı olması için arkaya isimi yaparken dinledim ve gerçekten çok iyi açıklamışsınız. Emeğinize sağlık
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.
Çok teşekkür ederim. Umarım faydalı ve açıklayıcı olmuştur.
İ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
Teşekkür ederim :) 4 yaşındaki birisi için zor tabi ama yine de olabildiğinde açık anlatmaya çalışıyorum.
SOLID prensiplerini açıklayıcı ve betimleyici anlatımlarınızla güzel bir şekilde özetlemişsiniz. Ellerinize sağlık…
Prensiplerin aynı yerde kullanıldığı gerçekten güzel bir anlatım olmuş. Tebrikler.
ilk kez bu kadar guzel anlatan kaynakla karsilasdim.Ellerinize saglik hocam :)
Teşekkür ederim. Umarım faydalı olmuştur
büyüksün patron , emeklerine sağlık :) zevkle izliyorum
Həqiqətən çox yaxşı izah etmiziniz, Allah razı olsun!
Gerçekten en iyi anlatımlardan biri olmuş
Teşekkür ederim. Umarım faydalı da olmuştur
@@TechBuddyTR Gerçekten faydalı oldu çok teşekkürler
Cok güzel anlatım , teşekkürler
Emeğinize sağlık. Çok güzel bir anlatım olmuş.
Teşekkür ederim :)
Muazzam bir video ve anlatım. Emeğine sağlık
Çok teşekkür ederim. Muhteşem. Ellerinize emeğinize sağlık.
Çok güzel anlatım hocam ağzınıza sağlık
Güzel bir anlatımdı. Elinize sağlık
Hocam çok iyi bir video, teşekkür ederim.
Teşekkürler 😊
Cok guzel bir video olmuş. Elinize kolunuza ağzınıza sağlık.
Çok Teşekkkürler emeğinize sağlık. :)
Güzel anlatım olmuş, teşekkürler.
Hocam çok güzel anlatmışsınız teşekkürler
Hocam çok güzel anlatmışsınız, teşekkür ederim.
Ağzınıza sağlık, mükemmel bir anlatım :)
Ö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.
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 :)
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?
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.
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 :)
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 ?
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.
Salih hocamdan öğrendiğim bilgiler ile yanıtlıyayım interface 'ler bir işi yapabildiğimizi (bir yeteneğe sahip olduğumuzu) gösterirler. MercedesBenz class 'ının implemente 'lerini incelediğimizde IEmailSendable interface 'si MercedesBenz class 'ının bu yeteneğe sahip olduğunu bize söylüyor.
Emeğinize sağlık. Mükemmel anlatım !!
Teşekkürler :)
En faydalı anlatım
Çok güzel anlatım, ağzına sağlık
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?
Hocam selamlar. Bütün kodları da paylaşabilir misiniz? Detaylı incelemek istiyorum tüm içeriği. Sevgiler.
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
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?
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 :)
Hocam Selamlar. Dependenct invercionu ioc de nasıl uygulayacagiz. TripİnfoLoggeri Generic Yaparak mı yoksa kullanacagimiz sinifta (dependency injection yaparken)mecbur newleyecek miyiz
Tesekuller
.net MAUI ile ilgili bir eğitim setiniz olacak mı?
Merhabalar, yakın zamanda gelmez. Ben de henüz başlamadım MAUI tarafına. :) Ama ben de öğrenince, mutlaka videosunu çekerim
@@TechBuddyTR Teşekkürler. Bekliyorum. Videolarınızı keyif alarak ve beğenerek izliyorum.
Hocam projenizi indiremiyorum. Link hatalı olabilir yardımcı olabilirmisiniz
mükemmel
Efsane
Teşekkürler
🔥🧨
hocam dependency tam oturmadı ya orası biraz karışık oldu, geri kalan süper anlaşılırdı
teşekkürler🙏
Like
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