Wpis z mikrobloga

Cześć Wykopki,

Ostatnio uczę się wzorca architektonicznego Clean architecture oraz DDD, głównie inspirując się filmami takich osób jak: DevMentors, Amichai Mantinband, Nick Chapsas oraz Milan Jovanović. W opraciu o wiedzę oraz najlepsze, moim zdaniem, praktyki tych panów popełniłem sobie takie repozytorium:
https://github.com/Tomasz-Budny/SameBoringToDoList
Jak zwykle w przypadku nauki nie jest to nic wyjątkowego, w tym wypadku to nieco zmodyfikowana todo lista z autentykacją użytkowników.
Jak macie czas zajrzelibyście do repo i wylistowali ewentualne błędy, złe praktyki/polecili jakieś inne.
Planuję zrobić nieco bardziej złożony projekt właśnie w oparciu o clean architecture, głównie w celach nauki, i chciałbym mieć ten temat dobrze obadany.

Z góry dzięki :D

#programowanie #programista15k #dotnet #ddd #kodowanie #webdev #csharp
  • 23
  • Odpowiedz
kropka w linku, dlatego 404.
Jak dla mnie ujdzie na pierwszy rzut oka, choć dawno już niczego w ce płotku nie napisałem.
Z rzeczy które mi się nie podobają - polskie komentarze w opisie dwóch wrzutek, później angielskie, no ok. Gorzej, że 2 to praktycznie wrzutka większości, tak na oko 50% projektu a później zmiany nazw klas, czy dorzucenie drobnej funkcjonalności - ale mówię - nie patrzyłem długo, takie pierwsze wrażenie. Choć...
  • Odpowiedz
Jestem na telefonie więc nie zrobię ci pełnoprawnego review, ale jak widzę takie projekty to źle mi się kojarzą. Boilerplate i prawie zero logiki która uzasadniałoby użycie ddd.
  • Odpowiedz
  • 0
@Oo-oO: Te polskie nazwy commitów to dla tego, że na nowym lapku mam VS po polsku i automatycznie wygenerował. A z tymi wrzutkami to dla tego, że na początku sporo sobie eksperymentowałem z różnymi podejściami i nie chciałem co chwilę wrzucać commita który zmieni całe repko o 180 stopni xd. Dopiero jak wyklarowało mi się jak chce pisać to apke to wrzuciłem.
  • Odpowiedz
  • 0
@zenek1998: Ale pisałem, że nie jest to docelowy projekt do którego chcę używać DDD tylko test architektury którą dopiero co poznaję xd. Pewnie, że w przypadku czegoś tak banalnego jak todo DDD nie ma podstaw, ale nie o to tutaj chodzi.
  • Odpowiedz
@simsookoo: Dodaj middleware na obsługę wyjątków wtedy zamiast tych dziwnych returnów w controllerach robisz po prostu:
public async task<actionresult<{typ}>> Method(cancellationtoken ct = default) => _mediatr.Send(news Query(), ct);
  • Odpowiedz
@simsookoo: Takie coś jest dobre jak z góry dopuszczasz jakąś możliwość za powszechną, np. literówka w loginie/haśle przy logowaniu. Przy pobieraniu listy nie ma się co wykrzaczyć (praktycznie zawsze powinno być OK(), ewentualnie lista będzie pusta), tak samo przy pobieraniu elementu po ID zakładamy, że user został odesłany na prawidłowy URL, gdzie element jest publiczny, albo przypisany do danego usera. Jeżeli nie to taka sytuacja jest wyjątkiem do wyrzucenia i do
  • Odpowiedz
Dodaj middleware na obsługę wyjątków wtedy zamiast tych dziwnych returnów w controllerach

tak samo przy pobieraniu elementu po ID zakładamy, że user został odesłany na prawidłowy URL, gdzie element jest publiczny, albo przypisany do danego usera. Jeżeli nie to taka sytuacja jest wyjątkiem do wyrzucenia i do logowania jako warning/error (zależy od kontekstu).


@ziomallox @simsookoo: Nieeee. To że podaliśmy Id usera, którego nie ma w bazie to nie jest powód do
  • Odpowiedz
  • 0
@chlop784: Gość to serio taki demagog jest? O Nicku Chapsasie wiem, że zdania są podzielone; niektórzy kochają niektórzy nienawidzą, ale o tym Milanie nigdy nie słyszałem żadnej wyraźnej opinii.
  • Odpowiedz
@simsookoo: pierwsze co to wywal config do poczty z public repo ( ͡° ͜ʖ ͡°)

edit. Generalnie bym uważał. Dzisiaj haslo i email do poczty a jutro passy do Azura xD
  • Odpowiedz