Ömer Bey, Solid prensipleri gerçekten çok önemlidir. Uluslararası bir yazılım okulunda okuyorum ve dünya genelinde saygınlığı olan büyük bir ağı olan bir programcı okulunda eğitim görüyorum. Kod yazarken bu prensiplere büyük ölçüde dikkat ediyoruz. Bu prensipler, senior yazılımcılarla da sıkça tartıştığımız konular arasında yer alıyor. Harika bir video olmuş, emeğinize sağlık.
AuthService Class ile IAuthService Class'ının bağlantısını anlayamadım. Eren hocam kampüste olduğunuz bi gün bu konuyla ilgili sorular sorabilir miyim.D? Bu arada selamlar 42kafası!
@@Kirit_00 Melih hocam selamlar yaptım fakat Player Animasyonunu hallederken çok uğraşmam gerekti o yüzden coin animasyonu ve target ekledim. Pdf'e hala bakmadım ama muhtemelen bunlar 125 almamı sağlar. 🧿🥳
Türkiye'de böylesine bir içerik bulupta, böylesine underrated kalması beni inanılmaz şaşırttı. Ülkemizde zaten yazılım, dünyada olduğu kadar popüler değil ancak ülkemizdeki yazılımla ilgili kişilerin de bu kanalı keşfetmemesi çok üzücü. Size tek tavsiyem kanalınıza hiç ara vermeden devam edin, Türkiye'de böyle insanlara, böyle içerik üreticilere ihtiyacımız var...
Gerçekten çok anlaşılır ve akıcı bir video olmuş. Teşekkür ederiz. Bir çok arkadaş işi doğru anlatmaya çalışırken ya çevirilere takılmış yada aynı şeyleri tekrarlayarak işi sıkıcı hale getirmiş. Videonuz oldukça profesyonel (Arka planda akan Matrix ekranı da .ok güzel )
Gerçekten mükemmel bir kanal, üretilen içerikleri çok beğendim. Bu kalitede içerik üreten türk yazılımcı pek yok, genelde hint yazılımcılar ingilizce anlatıyorlar. Kanalınızı yeni içerikleriniz için takipte kalacağım.
Ağzınıza sağlık hocam, bir kaç mülakata girip de bu soruyu çok cevapladım ama bu kadar anlaşılır değildi, şimdi daha çok anlıyor ve anlata biliyor olacağım :)))
Hocam ellerinize sağlık. Gerek sade anlatışınız, gerek örnekler vermeniz konuyu anlama açısından çok faydalı olmuş. Bu tarzda videolarınızı sabırsızlıkla bekliyor olacağım.
Çok güzel içerik, sağlam bir kanal olacağının garantisi niteliğinde. Mimariler ve tasarım desenleri video konularına eklenebilir, bu konularda açık olduğunu düşünüyorum. 🚀🚀
Ömer Hocam, elinize sağlık. Video hem içerik olarak hemde görüntü olarak çok kaliteli. Ben de SwiftUI için videolar çekiyorum. Açıkçası bende de yeni fikirler oluşturdu. "Acaba videolarda kendimi göstersem mi?" sorusunu düşündürdü.
Aslında önemli olan birisinin bir konuda bilgi ve deneyimini paylaşmasıdır, alaylı veya mühendis olması önemli değildir. Öğrenmek ve gelişmek için herhangi bir kaynaktan faydalanmak değerlidir. İyi bir programcı olmanın yolu, sürekli öğrenmek ve yeni bilgileri uygulamaktan geçer. Önemli olan, temiz kod yazma prensipleri gibi konularda bilgilenmek ve bu prensipleri pratiğe dökmektir.
Hocam kanalınızı yeni keşfettim. Mükemmel bir video olmuş. İstek video alıyorsanız, Data Science'a giriş hakkında bir video hazırlayabilir misiniz? İnternette üç beş kaynak var, hepsi de dolar kurlu kursları öneriyor ki Türkiye'de yapması imkansız birşey.
06:55 hocam burada kodlarin kendi classlari icerisinde kendi loginlerini yapmasi icin override etmemiz gerekmiyor mu ? sanirim bir yanlislik olmus orada class AuthService { public: virtual bool login() = 0; }; class Customer : public AuthService { public: bool login() override { // Validate the user's email address and password. return true; } }; class Doctor : public AuthService { public: bool login() override { // Validate the user's medical license number and password. return true; } };
Yok yok doğru override ediyoruz. Ben override yazmayı unutmuşum orada. C++ override yazma zorunluluğu yok o yüzden yazmadım. Sen doğru anlamışsın yani.
9:03 de tavukların kuşların sınıfına ait olan uçma metodunu boş yere kalıtım olarak aldığından bahsettiniz. bu metodu opsiyonlamak yerine private hale getirsek bu ilkeye uymuş olur muyuz? Teşekkürler oldukça yararlı bir video. Kanalın kısa sürede büyüyeceğinden eminim.
Private olması bir şey kazndırmaz bize. Şöyle düşün: Sen uç metodunu zaten başkaları miras alsın diye yazıyorsun. Daha sonra kimse kullanmasın diye private yapıyorsun. Eğer şunu demek istiyorsan: Bir method var sınıf içinde ihtiyaç duyuyorum kullanmaya ama bunu kimsenin miras almasına gerek yok o zaman private mantıklı olur. Ama benim örneğim için mantıksız olur
Çok teşekkür ederim şu an daha iyi anladım. Konuyla biraz alakasız olabilir fakat aklıma bir şey daha takıldı. private olan bir metodun unit testini nasıl yazarız? sonuçta test yazarken o metod'a başka bir class üzerinden erişim sağlamaya çalışyoruz. Bunun bir istisnai durumu var mıdır? bugün karşılaştığım bir sorun olduğu için sormak istedim. Tekrar teşekkür ediyorum.@@merbekta
Mecbur olmadıkça private method unit test yapılmaz ama çok gerekliyse reflection kullanabilirsin. Public olan methodlar unit testten geçiyorsa private methodların buna bağlı olarak başarılı olduğu düşünülür.
hocam single responsibility bir işi yapıyor dediniz. Domain Driven Desingn diye bir pattern var ve gördüğüm kadarıyla Entity içinde constructor ya da bir method içinde işlemler yaptırabiliyorlar. örnek vermem gerekirse. Order domain'i içinde order item eklemesi yapılıyor. Bu sebepten DDD solid aykırı olmuş oluyor mu ?
Tek iş değilde, "tek tür sorumluluk" demek belki daha iyi olur. Order entity sınıfı içerisinde additem,removeitem gibi fonkssiyonlar olması aykırı olmaz. Sonuç olarak additem,removeitem işlemleri order olayından bağımsız işler değil. Umarım doğru anlamışımdır sorunu
@@merbekta şunu demek istedim order sınıfı db'de bir tabloya işaret ediyor yani görevi order verisini tutmak değil mi ? ya da ben DDD deki order sınıfını yanlış mı anladım. bahsedilen order bir iş katmanını temsil ediyor. yani db'deki order tablosu farklı bir class mı ?
Arkadaslar solid kod yazmak sizi gelistirir ve daha hizli kod yazmaniza olanak saglar. Sebebi ise solid kod yazilmadigi durumlarda hep bas karisikligi olusur ve bir konu uzerinde uzun dusunulmesine sebep olur solid kod yazildiginda ise bu olay bas vermez ve daha hizli ve rahat kod yazilir ve yeni bir anlayisin ilave edilmesine rahatlikla olanak saglar ve hic bir problem cikmaz. Aslinda bu hic gereksiz konu degil.
Hocam her zaman SOLID ilkelerine sıkı sıkıya bağlı kalmak, gereksiz yere karmaşık tasarımlara yol açabilir. Her durumda bu ilkeleri uygulamak yerine, onları gerektiğinde esnek bir şekilde kullanmak genellikle daha iyidir 👍
Ömer Bey, Solid prensipleri gerçekten çok önemlidir. Uluslararası bir yazılım okulunda okuyorum ve dünya genelinde saygınlığı olan büyük bir ağı olan bir programcı okulunda eğitim görüyorum. Kod yazarken bu prensiplere büyük ölçüde dikkat ediyoruz. Bu prensipler, senior yazılımcılarla da sıkça tartıştığımız konular arasında yer alıyor. Harika bir video olmuş, emeğinize sağlık.
AuthService Class ile IAuthService Class'ının bağlantısını anlayamadım. Eren hocam kampüste olduğunuz bi gün bu konuyla ilgili sorular sorabilir miyim.D?
Bu arada selamlar 42kafası!
@@ademberkenargul1075Selamlar hocam ben Melih yeniden yaptın mı Mlx Projesini 😅
@@Kirit_00 Melih hocam selamlar yaptım fakat Player Animasyonunu hallederken çok uğraşmam gerekti o yüzden coin animasyonu ve target ekledim. Pdf'e hala bakmadım ama muhtemelen bunlar 125 almamı sağlar. 🧿🥳
Neden bu kadar güzel konuşuyorsun. Dikkatim dağıldı. İşin şakası bir yana çok güzel anlatmışsınız. Emeğinize sağlık
Türkiye'de böylesine bir içerik bulupta, böylesine underrated kalması beni inanılmaz şaşırttı. Ülkemizde zaten yazılım, dünyada olduğu kadar popüler değil ancak ülkemizdeki yazılımla ilgili kişilerin de bu kanalı keşfetmemesi çok üzücü. Size tek tavsiyem kanalınıza hiç ara vermeden devam edin, Türkiye'de böyle insanlara, böyle içerik üreticilere ihtiyacımız var...
Teşekkürler. Bu bir süreç bunu biliyorum bu yüzden moral bozmadan devam ediyorum.
Kac gundur ana sayfama dusuyordu. Sonunda izlemeye karar verdim ve iyiki izledim dedim. Tesekkurler❤.
Açıklayıcı ve temiz bir anlatım. Junior bir gelistirici olarak bunların Türkce olarak anlatilmasi gayet iyi
Böyle bir Türkçe kanal bulunca şaşırdım bi anda, hemmen abone olim :)
Gerçekten çok anlaşılır ve akıcı bir video olmuş. Teşekkür ederiz. Bir çok arkadaş işi doğru anlatmaya çalışırken ya çevirilere takılmış yada aynı şeyleri tekrarlayarak işi sıkıcı hale getirmiş.
Videonuz oldukça profesyonel (Arka planda akan Matrix ekranı da .ok güzel )
Oldukça güzel bir konu ve video. TH-cam TR'de görmek istediğimiz türden. Elinize sağlık
İlk abonelerinden birisi olduğum için şanslı hissediyorum abi :) seninle çalışmayı çok isterim
Çok temiz ve özenli anlatım. Türkçe terim hassasiyetiniz için de ayrıca teşekkürler.
yeni bir kanala göre içeriklerin cok kaliteli yakın zamanda güzel yerlere geleceğine inanıyorum ellerine sağlık
Cok acik ve sade bir anlatim. OOP biliyorum demek yeterli degil.
Yıllar önce Unreal Engine kursunuzu izlemiştim. O kurs gibi bu videoda harika. Emeğine sağlık.
Kesinlikle katılıyorum, ne zaman karşınıza çıkacağını bilemezsiniz. Öğrenmek ve kendini geliştirmeye devam etmek lazım.
Sade ve güzel anlatış, profesyonel bir video. Bu tarz içerikleri merakla bekliyor olacağım, başarılar dilerim.
Gerçekten mükemmel bir kanal, üretilen içerikleri çok beğendim. Bu kalitede içerik üreten türk yazılımcı pek yok, genelde hint yazılımcılar ingilizce anlatıyorlar. Kanalınızı yeni içerikleriniz için takipte kalacağım.
Hoşgeldin Bektaş :)
@@merbekta hoş bulduk Bektaş :) 🤚🏻
Çok güzel bir kanal. Çok profesyonel hazırlanmış. Tebrik ederim.
Ağzınıza sağlık hocam, bir kaç mülakata girip de bu soruyu çok cevapladım ama bu kadar anlaşılır değildi, şimdi daha çok anlıyor ve anlata biliyor olacağım :)))
kod örnekleriyle, gerçekçi örneklerle anlatımınız için teşekkürler. Başarılı olmanızı diliyorum
Yazılıma yeni baslayanlar için güzel bir anlatım olmuş teşekkürler
Hocam ellerinize sağlık. Gerek sade anlatışınız, gerek örnekler vermeniz konuyu anlama açısından çok faydalı olmuş. Bu tarzda videolarınızı sabırsızlıkla bekliyor olacağım.
Bu kanal değerlenir, yerimizi alalım.
Böylesine güzel bir anlatım için sonsuz teşekkürler.
Mükemmel anlatım mükemmel bir kişiden. Buralar değerlenir yerimizi alalım.
çok güzel ve sade bir anlatım olmuş ağzınıza sağlık..
Ancak bu kadar güzel anlatılabilirdi, ağzına sağlık Ömer Hocam Teşekkürler.
Çok güzel ve net bir şekilde anlatım olmuş 🙌
Çok temiz bir anlatım olmuş. Emeğinize sağlık.
Anlatım sade ve güzel. Teşekkürler
Aramıza hoş geldin :)
Teşekkürler Mert :)
Hocam ağzına sağlık. Aşşırı iyi bir anlatım olmuş.
Çok güzel anlatmışsın, teşekkür ederim. Devamını dilerim
Çok faydalı bir video olmuş. Kanalınızı yeni keşfettim. Videoların devamını bekleriz. 👏👏👏
Gayet güzel ve açıklayıcı bir video olmuş
Vermiş olduğunuz bilgiler için teşekkürler.
elinize, dilinize sağlık. çok anlaşılır ve güzel anlatmışsınız, teşekkürler.
Buralar değerlenecek, yerimizi alalım. Değerli bilgiler için teşekkürler 🙏
Gayet güzel bir anlatım hocam. Teşekkürler
Çok güzel içerik, sağlam bir kanal olacağının garantisi niteliğinde. Mimariler ve tasarım desenleri video konularına eklenebilir, bu konularda açık olduğunu düşünüyorum. 🚀🚀
Başarılı anlatım 👍💯
hocam çok yararlı olmuş elinize bilginize sesinize sağlık
Kaliteli anlatım. Teşekkürler :)
Abi çok iyi anlattın bundan sonra hep bu kanaldayım 🤌🤌🤌
Ağzına sağlık usta . Güzel bir içerik
Uzmn. Bahri'den selamlar, onurlarla...
Faydalı bir video olmuş teşekkürler
çok güzel anlatım emeğnize sağllık
junior duymamış ajhsjdsaajsd SOLID'ın konu edilmediği mülakat var mı? :DD bayılıyorum böyle popülist yazılımcılara ya
Emeğinize sağlık yararlı bir içerik olmuş. Tekrar niyetine kısa ve öz örneklere yer vermeniz de güzel olmuş👍🏻
Ömer Hocam, elinize sağlık. Video hem içerik olarak hemde görüntü olarak çok kaliteli. Ben de SwiftUI için videolar çekiyorum. Açıkçası bende de yeni fikirler oluşturdu. "Acaba videolarda kendimi göstersem mi?" sorusunu düşündürdü.
Farklı sonuçlar için farklı şeyler denemeliyiz bence :) Bir kaç videona baktım konu anlatımın gayet iyi. Bir kaç değişiklik iyi olabilir.
@@merbekta Eleştirilerini ve önerilerini dinlemek çok isterim. Teşekkürler :)
güzel bir anlatim icin tesekkür ederim.
Çok güzel anlatmışsınız, teşekkürler
Yararlı bir video oldu teşekkür ederim
Çok temiz ve sade anlatımınız için teşekkürler
Harika bir içerik, emeğinize sağlık
Eyvallah hocam. Alaylı programcılara böyle mühendislerin çıkıp bir şeyler öğretmesi gerçekten değerli. Teşekkürler
Aslında önemli olan birisinin bir konuda bilgi ve deneyimini paylaşmasıdır, alaylı veya mühendis olması önemli değildir. Öğrenmek ve gelişmek için herhangi bir kaynaktan faydalanmak değerlidir. İyi bir programcı olmanın yolu, sürekli öğrenmek ve yeni bilgileri uygulamaktan geçer. Önemli olan, temiz kod yazma prensipleri gibi konularda bilgilenmek ve bu prensipleri pratiğe dökmektir.
Çok açıklayıcı ve güzel anlatım olmuş teşekkürler 😊
Çok iyi bi anlatım. Başarılar dilerim👍
Teşekkür ederim. Ağzınıza sağlık
Bu konularda Turkce iceriklerin olmasi cok guzel. Tebrikler ve umarim kanali ilerletirsiniz.
Çok keyifli, öğretici video teşekkürler
Sağlam video olmuş. Elinize sağlık hocam 🙏🙏
Hocam kanalınızı yeni keşfettim. Mükemmel bir video olmuş.
İstek video alıyorsanız, Data Science'a giriş hakkında bir video hazırlayabilir misiniz? İnternette üç beş kaynak var, hepsi de dolar kurlu kursları öneriyor ki Türkiye'de yapması imkansız birşey.
Emeğinize sağlık, çok güzel olmuş
bilgilendirici video , teşekkürler😇
Çok güzel bilgilendirici video teşekkürler 😊
eline sağlık güzel sunum.
Çok iyi anlatım hocam, teşekkürler 👏
Çok kaliteli bir içerik olmuş hocam, teşekkürler.
Harika bilgilendirici bir video olmuş, elinize sağlık hocam.
Güzel çalışma olmuş teşekkürler
Teşekkürler, elinize sağlık
hocam ağzınıza sağlık açıklayıcı bir video olmuş 🙏🙏
Ağzınıza sağlık
çok eğitici video devamı gelmeli
06:55
hocam burada kodlarin kendi classlari icerisinde kendi loginlerini yapmasi icin override etmemiz gerekmiyor mu ? sanirim bir yanlislik olmus orada
class AuthService
{
public:
virtual bool login() = 0;
};
class Customer : public AuthService
{
public:
bool login() override
{
// Validate the user's email address and password.
return true;
}
};
class Doctor : public AuthService
{
public:
bool login() override
{
// Validate the user's medical license number and password.
return true;
}
};
ya da interface oldugu icin mi oyle yaptik ? inceledikce kafam daha da karisti beni aydinlatir misiniz hocam
Yok yok doğru override ediyoruz. Ben override yazmayı unutmuşum orada. C++ override yazma zorunluluğu yok o yüzden yazmadım. Sen doğru anlamışsın yani.
@@merbekta cpp kodluyorum ama bu bilgiye hakim degildim en azindan bunu ogrenmis oldum , tesekkurler hocam.
Süper! 👏
Emeğinize sağlık :))
Elinize emeğinize sağlık hocam.
java da multiple extends olayı yok ama liskovu nasıl entegre edeceğiz ozaman
Evet java çoklu kalıtım desteklemiyor. Çoklu kalıtım interface ile çözülüyor.
Kaliteli içerik abone oldumm.
Elinize sağlık
Çok teşekkürler
Teşekkürler
Teşekkürler.
Teşekkürler
9:03 de tavukların kuşların sınıfına ait olan uçma metodunu boş yere kalıtım olarak aldığından bahsettiniz. bu metodu opsiyonlamak yerine private hale getirsek bu ilkeye uymuş olur muyuz? Teşekkürler oldukça yararlı bir video. Kanalın kısa sürede büyüyeceğinden eminim.
Private olması bir şey kazndırmaz bize. Şöyle düşün: Sen uç metodunu zaten başkaları miras alsın diye yazıyorsun. Daha sonra kimse kullanmasın diye private yapıyorsun. Eğer şunu demek istiyorsan: Bir method var sınıf içinde ihtiyaç duyuyorum kullanmaya ama bunu kimsenin miras almasına gerek yok o zaman private mantıklı olur. Ama benim örneğim için mantıksız olur
Çok teşekkür ederim şu an daha iyi anladım. Konuyla biraz alakasız olabilir fakat aklıma bir şey daha takıldı. private olan bir metodun unit testini nasıl yazarız? sonuçta test yazarken o metod'a başka bir class üzerinden erişim sağlamaya çalışyoruz. Bunun bir istisnai durumu var mıdır? bugün karşılaştığım bir sorun olduğu için sormak istedim. Tekrar teşekkür ediyorum.@@merbekta
Mecbur olmadıkça private method unit test yapılmaz ama çok gerekliyse reflection kullanabilirsin. Public olan methodlar unit testten geçiyorsa private methodların buna bağlı olarak başarılı olduğu düşünülür.
Emeğinize sağlık 👏
Hocam advance konulardan bahsedin lütfen mesela mikroservis mimarisi, kubernetes yada devops araçları (rabbitmq, redis, docker) gerçek hayattan senaryolarla anlatsanız mükemmler olur
Teşekkür ederiz
hocam single responsibility bir işi yapıyor dediniz.
Domain Driven Desingn diye bir pattern var ve gördüğüm kadarıyla Entity içinde constructor ya da bir method içinde işlemler yaptırabiliyorlar. örnek vermem gerekirse. Order domain'i içinde order item eklemesi yapılıyor. Bu sebepten DDD solid aykırı olmuş oluyor mu ?
Tek iş değilde, "tek tür sorumluluk" demek belki daha iyi olur. Order entity sınıfı içerisinde additem,removeitem gibi fonkssiyonlar olması aykırı olmaz. Sonuç olarak additem,removeitem işlemleri order olayından bağımsız işler değil. Umarım doğru anlamışımdır sorunu
@@merbekta şunu demek istedim order sınıfı db'de bir tabloya işaret ediyor yani görevi order verisini tutmak değil mi ? ya da ben DDD deki order sınıfını yanlış mı anladım. bahsedilen order bir iş katmanını temsil ediyor. yani db'deki order tablosu farklı bir class mı ?
güzel video ♥
Hocam çok kaliteli içerikler pek ilgilendiğim konu değil ama kesin yakında gelişirsin
Arkadaslar solid kod yazmak sizi gelistirir ve daha hizli kod yazmaniza olanak saglar. Sebebi ise solid kod yazilmadigi durumlarda hep bas karisikligi olusur ve bir konu uzerinde uzun dusunulmesine sebep olur solid kod yazildiginda ise bu olay bas vermez ve daha hizli ve rahat kod yazilir ve yeni bir anlayisin ilave edilmesine rahatlikla olanak saglar ve hic bir problem cikmaz. Aslinda bu hic gereksiz konu degil.
güzel video olmuş
Liskov's Substitution Principle'da anallatıklarınız sanki birebir Integral Segregation gibi.
Hocam her zaman SOLID ilkelerine sıkı sıkıya bağlı kalmak, gereksiz yere karmaşık tasarımlara yol açabilir. Her durumda bu ilkeleri uygulamak yerine, onları gerektiğinde esnek bir şekilde kullanmak genellikle daha iyidir 👍
Her zaman öyle değil mi zaten ? Her şeyin fazlası zarar :)
Temiz bilgiler için teşekkür ederim :) 7:50'de parametre türünün sonuna eklenen "&" ile referansa mı işaret ediliyor?
Evet referans
Hocam çok güzel videolarınız var cidden. TH-cam a yenimi başladınız? Çok profosyonel duruyor videolarınız. Elinize sağlık
Evet ilk diyebilirim. Teşekkür ederim.
hocam 3 maddeyi liskov zaten devredışı bırakıyor. sadece liskov ve dependecy invesion yeterli oluyor galiba