Singleton - Wzorzec czy Antywzorzec?

  Рет қаралды 5,358

Kajetan Duszyński - Szkoła Dotneta

Kajetan Duszyński - Szkoła Dotneta

4 жыл бұрын

👉 DARMOWE SZKOLENIE ONLINE - Jak Zostać Programistą OD ZERA:
szkoladotneta.pl/zostan-progr...
👉 Wejdź do społeczności dla programistów : szkoladotneta.pl/discord
👉 Zapisz się na newsletter i dostawaj powiadomienia o nowych odcinkach:
szkoladotneta.pl
👉 Obserwuj mnie na Instagramie:
/ kajetan.duszynski
Pierwszy z 23 wzorców projektowych zdefiniowanych przez "Gang of Four".
Singleton to wzorzec kreacyjny wokół którego toczy się ogromna ilość dyskusji.
Czy jest on prawidłowym wzorcem czy tzw. antywzorcem?
Zobacz opis problemu, przykłady implementacji i prawidłowe zastosowanie.
Zapraszam do nowej serii #wzorceprojektowe
Odcinek 003 - 20.12.2019
Kontakt: kajetan@moderndevelopment.eu
Blog: kajetanduszynski.pl
Instagram: / kajetan.duszynski

Пікірлер: 31
@stalowa_armia
@stalowa_armia 4 жыл бұрын
Jak najwiecej takich filmów. Super robota.
@szkoladotneta
@szkoladotneta 4 жыл бұрын
Miód na moje oczy ❤️ dzięki za takie słowa :)
@stalowa_armia
@stalowa_armia 4 жыл бұрын
Aktualnie jestem na etapie szukania pierwszej pracy Java junior dev. Musze uzupelniac braki teoretyczne. Bardzo przydatne. Twoje filmy przydają się do moich notatek.
@szkoladotneta
@szkoladotneta 4 жыл бұрын
Dawaj znać jakbyś potrzebował konkretny temat to postaram się podpowiedzieć. I czekaj na jeszcze jeden filmik w tym roku. Mniej teoretyczny ale na rozmowę bardzo Ci się przyda:)
@stalowa_armia
@stalowa_armia 4 жыл бұрын
CI/CD - Co to? Gdzie wykorzystać? Jak?
@szkoladotneta
@szkoladotneta 4 жыл бұрын
Trafiłeś w mój ulubiony temat. To będą jedne z pierwszych filmów w 2020. Tylko to jest tak wielki temat, że muszę pomyśleć jak go sensownie podzielić :)
@lordjim9971
@lordjim9971 3 жыл бұрын
Dziękuję!
@kamilmikua5794
@kamilmikua5794 Жыл бұрын
kozak, leci sub :)
@szkoladotneta
@szkoladotneta Жыл бұрын
Dzięki :)
@tomaszpawowski6618
@tomaszpawowski6618 4 жыл бұрын
Super! Z chęcią obejrzałbym jak wyjaśniasz wzorzec Obserwator.
@szkoladotneta
@szkoladotneta 4 жыл бұрын
Jest w notatkach do nagrania :)
@Teekkanee
@Teekkanee 4 жыл бұрын
ja bym chętnie obejrzał od ciebie materiał na temat tego jak dobrze zaprojektować aplikację, chodzi mi tutaj o sam początek czyli jakieś tam rozpisanie sobie tego na kartce czy może przy pomocy innych narzędzi
@szkoladotneta
@szkoladotneta 4 жыл бұрын
U narzędzia do projektowania. To jest super pomysł. I cały proces pojektowania we wczesnej fazie. Zapisuję. Na pewno się pojawi!
@nekromagic6348
@nekromagic6348 3 жыл бұрын
Czekam na więcej wzorców projektowych. Wraz z porównaniami np podchwytliwymi pytaniami na rozmowach typu czym się różni wzorzec adapter i proxy albo builder i factory bo to czasem miażdży nawet midów
@przemyslawkoziol1593
@przemyslawkoziol1593 4 жыл бұрын
Ja ostatnio trochę "zwariowałem" i zacząłem wykorzystywać Singletona jako warstwę dostępu do danych. Tworze sobie np UserService z kilkoma publicznymi metodami i tam dodaje,usuwam czy aktualizuje użytkowników. Nie wiem czy to nie przesada i nadmiarowość, ale pozbyłem się powiązania między ViewModelami a warstwą Repozytorium. Nie wiem na ile to poprawnie jest. Dodatkowo dla mnie super sprawą jest wykorzystanie Singletona jako słownika pobranych danych np z bazy. Poprawnie/nie poprawnie nie wiem :-) proszę o komentarz.
@szkoladotneta
@szkoladotneta 4 жыл бұрын
Oj, ale to jest ekstremalnie zły pomysł. Już nie mówiąc o zasadach, które to łamie, ale trzymając wszystkich użytkowników, czy danych słownikowych w pamięci przez cały czas życia aplikacji powodujesz, że aplikacja jest super ciężka i zasobożerna. Możesz nie odczuć tego w momencie, jak masz w środowisku developerskim 2 userów na krzyż, ale jak na produkcji będziesz miał 20 tysięcy, to Ci siądzie absolutnie wszystko i będziesz myślał, dlaczego Ci się serwer grzeje :)
@przemyslawkoziol1593
@przemyslawkoziol1593 4 жыл бұрын
@@szkoladotneta ok. Zrozumienie i zapamiętane.Trzymanie tych danych w pamięci jest okrutnie zle. A jak to lepiej zorganizować? W kazdym viewmodelu pisać metodę np save() i tam klepać całą regułę ? Korzystam w projektach z "wzorca" dostępu Unit of Work, więc wszędzie klepać.... using(var UnitOfWork=new UnitOfWork(context) ........ i tak wszystko oprogramowania? Czy lepiej zrobić to jakoś inaczej? No i jak mam trzymać te dane słownikowe? Za każdym razem strzelać do bazy ?
@buzz_astral
@buzz_astral 4 жыл бұрын
Fajnie jakbyś powiedział w filmiku dlaczego Singletona nie polecasz.
@szkoladotneta
@szkoladotneta 4 жыл бұрын
Szczerze mówiąc myślałem, że skoro powiedziałem, że łamie zasadę SRP i że minęły już czasy kiedy trzymaliśmy konfigi w zmiennych globalnych to wystarczy :) ale jeśli zabrakło Ci konkretnego podsumowania minusów to postaram się nastepnym razem lepiej to zakomunikować :) dzięki
@michal9916
@michal9916 4 жыл бұрын
@@szkoladotneta mógłbyś napisać w takim razie jak najlepiej przechowywać konfiguracje?
@szkoladotneta
@szkoladotneta 4 жыл бұрын
To wszystko zależy od tego jaka to aplikacja (desktop, web, mobile) i co to za konfiguracja. Jeśli dla całej aplikacji to zazwyczaj robi się to w pliku konfiguracyjnym. Jeśli dla użytkownika to w bazie danych. Może być w pliku cookie, może być w jakimś storage lokalnym. Możliwości jest multum ważne jakie są wymagania :)
@michal9916
@michal9916 4 жыл бұрын
@@szkoladotneta Ok dzięki za odpowiedź. Myślę, że fajnie by było robić takie wstawki, bardziej zaawansowani też skorzystają, usłyszą o jakiejś nowince, alternatywie:) Nagrywaj więcej, bardzo dobrze się Ciebie słucha!:)
@szkoladotneta
@szkoladotneta 4 жыл бұрын
Wielkie dzięki za te słowa. Postaram się równoważyć cześć dla początkujących i dla tych trochę bardziej zaawansowanych :)
@ja-rek8846
@ja-rek8846 3 жыл бұрын
To że obiekt jest dostępny globalnie oraz to że może mieć jedną instancje w żaden sposób nie łamie SRP.
@pawcik9318
@pawcik9318 3 жыл бұрын
Zawsze mnie interesowało po co oni pokazują swoja twarz mnie interesuje kod nie jego wizerunek.
@szkoladotneta
@szkoladotneta 3 жыл бұрын
Nie wiem kim są "oni", ale może następnym razem zrobię tak 🙈 :)
@Teekkanee
@Teekkanee 4 жыл бұрын
w tym napisie na początku (twoje imie i nazwisko) czcionka której użyłeś nie obsługuje polskich znaków
@szkoladotneta
@szkoladotneta 4 жыл бұрын
Tak wiem :) generator video intro niestety w ogóle nie obsługuje polskich czcionek. Kiedyś to pewnie zmienię ;)
Czym jest SOLID? - Standardowe Pytania Rekrutacyjne
15:31
Kajetan Duszyński - Szkoła Dotneta
Рет қаралды 20 М.
Junior .NET Developer Rozmowa rekrutacyjna #1 - CERQ
1:04:56
Kajetan Duszyński - Szkoła Dotneta
Рет қаралды 1,8 М.
39kgのガリガリが踊る絵文字ダンス/39kg boney emoji dance#dance #ダンス #にんげんっていいな
00:16
💀Skeleton Ninja🥷【にんげんっていいなチャンネル】
Рет қаралды 8 МЛН
Best KFC Homemade For My Son #cooking #shorts
00:58
BANKII
Рет қаралды 62 МЛН
Everything You Need to Know About Singletons in Unity
8:38
Infallible Code
Рет қаралды 86 М.
Z TYCH 3 POWODÓW ODRZUCAMY KANDYDATÓW DO PRACY
11:44
Marek Zając
Рет қаралды 25 М.
Design Patterns: Singleton
16:11
Microsoft Visual Studio
Рет қаралды 29 М.
Wzorzec projektowy Fasada
15:49
Dev Foundry
Рет қаралды 7 М.
Junior .NET Developer Rozmowa rekrutacyjna #2 - DR
1:05:35
Kajetan Duszyński - Szkoła Dotneta
Рет қаралды 1,7 М.
Singleton Design Pattern in C# - Do it THAT way
13:15
tutorialsEU - C#
Рет қаралды 24 М.
Różnice pomiędzy interfejsem a klasą abstrakcyjną w .NET - Standardowe Pytania Rekrutacyjne
6:23
Requirement Specification vs User Stories
17:34
Continuous Delivery
Рет қаралды 78 М.
КРУТОЙ ТЕЛЕФОН
0:16
KINO KAIF
Рет қаралды 6 МЛН
Опасность фирменной зарядки Apple
0:57
SuperCrastan
Рет қаралды 8 МЛН
$1 vs $100,000 Slow Motion Camera!
0:44
Hafu Go
Рет қаралды 27 МЛН
Rate This Smartphone Cooler Set-up ⭐
0:10
Shakeuptech
Рет қаралды 4,2 МЛН
BEKMOBILDA Tecno Camon 30 smartfoni🔥🤩 #bekmobil
1:01
Bekmobil shorts
Рет қаралды 2,3 МЛН
Как бесплатно замутить iphone 15 pro max
0:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 7 МЛН