SOLID - Liskov Substitution Principle #5 - Design Principles Eğitimleri

  Рет қаралды 7,366

Gençay Yıldız

Gençay Yıldız

Күн бұрын

Пікірлер: 43
@utkuhazargel8932
@utkuhazargel8932 7 ай бұрын
puzzle yapmak gibi her bir parçayı yerine cuk diye oturtuyorsunuz. üstelik çok açıklayıcı bir şekilde anlatıyorsunuz teşekkürler
@koraybapoglu
@koraybapoglu Жыл бұрын
Bu bir destek mesajıdır. SOLID - Liskov Substitution Principle #5 - Design Principles Eğitimleri
@oguz231
@oguz231 Жыл бұрын
videoya başlamadan yorumumuzu yapalım. emeğiniz için teşekkürler hocam
@suleyman_aslan
@suleyman_aslan 2 жыл бұрын
Beklene yeni video gelmiş hemen girdik emeğinize sağlık
@E_G_
@E_G_ 2 жыл бұрын
Teşekkürler, buradaki örnekleri shorts olarak paylaşarak daha fazla kişilere ulaşılabilir
@sahincandemir301
@sahincandemir301 Жыл бұрын
Budur, Elinize sağlık hocam.
@sadaharu_tr
@sadaharu_tr 2 жыл бұрын
Akıyor maşallah bu hafta kanal hocam.
@cleandeveloper
@cleandeveloper 8 ай бұрын
hocam verdiğiniz örnekler çok iyi, hem ideal olan hem de olmayan senaryoyu gördüğümde konu kafamda cuk diye oturuyor
@elifgokpinar17
@elifgokpinar17 Жыл бұрын
çok anlaşılır bir anlatım, teşekkürler
@hikmetfazila6299
@hikmetfazila6299 2 жыл бұрын
emeğinize sağlık hocam. teşekkürler
@murad-dov
@murad-dov 2 жыл бұрын
Allah razı olsun hocam tek kelimeyle efsanesiniz
@yazilimciMotorcu
@yazilimciMotorcu Жыл бұрын
hocam harikasiniz. yine mukemmel videolar geliyor. ve aciklayici olmasi ile tam oturuyor tesekkurler
@yazilimciyizBiz
@yazilimciyizBiz 2 жыл бұрын
16.10.2022 izledim. SOLID - Liskov Substitution Principle #5 - Design Principles Eğitimleri
@samirvaliyev
@samirvaliyev Жыл бұрын
Emeğinize sağlık Hocam
@the-ghost-in-the-machine1108
@the-ghost-in-the-machine1108 Жыл бұрын
süper anlatım, teşekkürler.
@uzeyira.2982
@uzeyira.2982 2 жыл бұрын
Teşekkürler hocam
@furkan3946
@furkan3946 2 жыл бұрын
Teşekkürler hocamm
@YunusEmre-tc8ql
@YunusEmre-tc8ql 11 ай бұрын
müko
@ardadogrul6578
@ardadogrul6578 Жыл бұрын
14:28 aman hocam 😄 (ağzınıza sağlık çok iyi anlatmışsınız.)
@ertanciller1924
@ertanciller1924 2 жыл бұрын
Elinize sağlık hocam süpersiniz..
@RoyZASTEROiD
@RoyZASTEROiD 2 жыл бұрын
Cok sagolun.
@Sncyigido
@Sncyigido 2 жыл бұрын
Değerli bilgileriniz için saolun hocam
@nouchance
@nouchance 2 жыл бұрын
Thank you Sir
@oguzhan543
@oguzhan543 2 жыл бұрын
💯💯💯
@mustafagasimzada5477
@mustafagasimzada5477 Жыл бұрын
👍👍
@salihguresken1422
@salihguresken1422 2 жыл бұрын
👏👏
@cinarmurat
@cinarmurat 2 жыл бұрын
Kapsamlı bir reaktif programlama eğitimi gelir mi hocam?
@kilicarslan5976
@kilicarslan5976 2 жыл бұрын
KİNG!
@yasinclsk
@yasinclsk 2 жыл бұрын
hocam diyelim ki Google ve AWS biz projeyi geliştirdiğimiz esnada her ikisi de hem translate hem de machine learning süreçlerini yönetebilsin. Bizde bu süreci oluşturduğumuz Cloud abstract classı üzerinden IoC container üzerinden Cloud nesnesi aracılığıyla yönetelim. İlerleyen süreçte AWS artık translate hizmeti vermediğini açıkladığını varsayalım. ITranslatable arayüzü oluşturup süreci onun üzerinden yürütmek istediğimizde artık Cloud nesnesi üzerinden Translate methodunu çağıramaz duruma gelicez ve tüm proje üzerinde Cloud nesnesinin kullanıldığı her yerde değişiklik yapmak gerekecek. Aşağıdaki işlemde tüm süreci Cloud nesnesi üzerinden yönettim. public class CloudController : ControllerBase { private Cloud _cloud; public CloudController(Cloud cloud) { _cloud = cloud; } [HttpGet("translate")] public IActionResult Translate(string x) { _cloud.Translate(); return Ok(x); } [HttpGet("maclearn")] public IActionResult MachineLearning(string x) { _cloud.MachineLearning(); return Ok(x); } } Buradaki işlemde de translate işlemini farklı bir arayüz(ITranslatable) ile sağladım. public class CloudController : ControllerBase { private Cloud _cloud; private ITranslatable _translatable; public CloudController(Cloud cloud, ITranslatable translatable) { _cloud = cloud; _translatable = translatable; } [HttpGet("translate")] public IActionResult Translate(string x) { _translatable.Translate(); return Ok(x); } [HttpGet("maclearn")] public IActionResult MachineLearning(string x) { _cloud.MachineLearning(); return Ok(x); } } Bu iki operasyon arasında translate operasyonunu değiştirmek için, "_cloud.Translate()" işlemi yerine "_translatable.Translate()" işlemini kullandım. Büyük bir projede onlarca farklı yerde bu işlemi düzeltmek zor ve maliyetli olur diye düşünüyorum. Mimariyi bu süreçte nasıl daha doğru hale getirebiliriz?
@geziyurdum
@geziyurdum 2 жыл бұрын
Soru : Hocam şimdi dediğiniz gibi iki adet method açısından çok şık ve mantıklı duruyor ancak bu durum şöyle olsaydı Cloud sınıfında 100 adet method olsaydı Google bunlardan 20 sini, AWS bunlardan 50 sini Azure ise 45 ini kapsıyor ve bunlardan arta kalanlarda diğer sınıflarda bir kullanılıyor bir kullanılmıyor olsa idi bu kapsayanlar için tek bir abstract yapıpta kapsamayanların her biri için ayrı ayrı interface tanımlıyor olacaktık nihai hedefe ulaşmak için , ancak haliyle bu durumda Google sınıfı : Cloud ,Ix,Iy,Iz........Ibilmemne gibi epey bir interface yi implemente etmesi best practice veya kod yazımına aykırı bir durum mudur.Biraz karışık oldu ama umarım anlatabilmişimdir derdimi.Şimdiden teşekkürler.
2 жыл бұрын
Evet, öyle olacaktı ve bu durum o ihtiyaca istinaden hiçte best practices yahut kod yazımı açısından aykırı bir durum olmayacaktı. Zaten esas o tarz yoğun operasyonların söz konusu olduğu senaryolar için bu prensipler daha elverişli ortamlar sağlamaktadırlar. Sevgiler...
@omerakkus730
@omerakkus730 Жыл бұрын
Funda Bismillah
@semihatalay865
@semihatalay865 6 ай бұрын
Liskov adı nereden geliyor diye merak edenler için adını "Barbara Liskov" adlı bilgisayar uzmanı ablamızdan almıştır. İnşallah bir gün biz de milli gururumuz "Gencay Principles" olarak yazılım dunyasında yer edinecegiz :)
6 ай бұрын
Bizim prensibimiz yıllar öncesinde duyuruldu kardeşim... Ameleus :) Adı kanımızda saklı :)
@begumcelik2791
@begumcelik2791 2 жыл бұрын
Teşekkürler hocam. Bu prensip ile Interface Segregation çok karışıyor ki bunda da çözüm Interface e ayırarak yaptık hatta IMachinelearning interface i olarak ayırsaydık ki ayırabilirdik o zaman tam ISP oluyordu o zaman Cloud diye birşey kalmayacaktı. Burada amaç Cloud gibi bir sınıftan kesinlikle kalıtım alındığı durumlar mı?
2 жыл бұрын
Aslında karışmıyor. Liskov, alt sınıfların kendi aralarında problemsiz yer değiştirebilmesini öneriyor. Bunun için bizler problem yaratabilecek davranışları ayırma ve kullanılacak sınıflara dahil etme yöntemini kullanıyoruz. Burada ISP'den temeldeki farklardan biri niyet bir diğer ise ortak olan davranışlar varsa base'de tutulmasıdır. ISP'de ise farklı yettenekleri farklı arayüzlerle temsil etmek gibi bir niyet var. Evet, Liskov ile paralellik arz edebilir ama zaten prensipler ve hatta pattern'lar içe içedir diyebiliriz. Ayriyeten Liskov, Open/Closed prensibinin de amca oğludur diyebiliriz. Nihayetinde sistemde ITranslatable interface'inin genişletilebilirlik özelliği söz konusu olabilmektedir. Bu açıdan OCP'ye benzerlik göstermektedir. Bir yandan da OCP'ye bakarsanız özünde Dependency Inversion prensibiyle paralel doğrultudadır. .. Felan :) Yani SOLID prensiplerinin hepsi('S' hariç), aşağı yukarı soyutlama konusunda mutabıklardır ve bu soyutlamanın doğru noktada kullanılması konusunda farklarını ortaya koymaktadırlar diyebiliriz. Sevgiler.
@fatihcambel
@fatihcambel 10 ай бұрын
28:17
@ikrtkn
@ikrtkn 2 жыл бұрын
🛠⚒📙✏👍💯🤣
@farukakpnar2265
@farukakpnar2265 5 ай бұрын
CUK
@mehmetsayn573
@mehmetsayn573 8 ай бұрын
Alet cantasinda gerek olmayan bir aleti cantaya koyma. Yani base classta sub classin kullanmayacagi method ya da property tanimlama. Ahlakli ol.
@aciltedarikdeposu4326
@aciltedarikdeposu4326 2 жыл бұрын
EĞİTİME YENİ BAŞLAYAN ARKADAŞLARA HİTABEN ! Onlarca video izledin, x,y,z platformlardan bir çok eğitim satın aldın, aradın taradın günler haftalar aylar geçti hasbel kader buraya geldin sonunda doğru yerdesin👏 Evet şuan Tek Kişilik Dev Kadro GENÇAY YILDIZ👑hocamız ile burası NG AKDEMİ. İzlediğin videolarda anlamadığın bir yer olmayacak garanti veriyorum. Sabırlı ol !! Notlarını güzelce al. Birde senden küçük bir ricamız olacak kanalımızı yani artık senin kanalını başka platformlarda forumlarda işte okulda çevrende her yerde paylaşmanı istiyorum. Çünkü bu kanal memleketin yazılım meselesini kendine görev edinmiş bir kanal. Şu dizelerle birlikte iyi çalışmalar diliyorum. Gidilecek yol uzun, Öğrenecek şey fazla, Yanmak gerek, Sabretmek gerek...
@yusufkoraycan4607
@yusufkoraycan4607 Жыл бұрын
Teşekkürler hocam
@mehmetalimergen48
@mehmetalimergen48 2 жыл бұрын
Emeğinize sağlık hocam. Teşekkürler
У вас там какие таланты ?😂
00:19
Карина Хафизова
Рет қаралды 23 МЛН
Real Man relocate to Remote Controlled Car 👨🏻➡️🚙🕹️ #builderc
00:24
Family Love #funny #sigma
00:16
CRAZY GREAPA
Рет қаралды 43 МЛН
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 89 МЛН
Yeni Mezun bir Yazılımcının İlk İş Görüşmesi
1:49
Girişim Yeri
Рет қаралды 168 М.
What is LLVM: How It Powers Modern Compilers and Optimizes Code
6:31
The Coding Gopher
Рет қаралды 3,7 М.
C# Ders 81 Liskov Substitution Principle (ikinci 100)
17:11
Murat Yücedağ
Рет қаралды 3 М.
Kıbrıslı Ve Annesi - 383. Bölüm (Güldür Güldür Show)
15:47
Güldür Güldür
Рет қаралды 241 М.
Solid Prensipleri Nelerdir | Solid Principles Explanation
41:27
Tech Buddy
Рет қаралды 19 М.
How to Check if a User Exists Among Billions! - 4 MUST Know Strategies
12:44
The Right way to write Nest.js & Typescript clean-code - SOLID
17:55
У вас там какие таланты ?😂
00:19
Карина Хафизова
Рет қаралды 23 МЛН