Mam stworzone dwa modele w relacji jeden do jednego: home i homeDetails. Chce zrobić encje shadowHome, w której ma się tworzyć historia usunięć i modyfikacji i będzie zawierac kilka dodatkowych atrybutów (np. wskazujący na typ operacji której skutkiem jest stworzenie nowej instancji w tej encji itp...) I pytanie jak, według sztuki powinien być zbudowana ta klasa shadowHome? Po prostu zrobić hardcoding tamtych atrybutów, bo jak wiemy nie można równocześnie dziedziczyć z dwóch
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@grap32: masz jedna tabele z wszystkimi properties. Do widoków możesz sobie wyciągać dto tylko z częścią właściwości

_db.Homes.Select(p=> new HomeDto{/*propeties, które cię interesują*/}) ;//skip, take co tam potrzebujesz
PS póki nie zawołasz ToArray, ToList wszystko się wykona na bazie danych zakładając że używasz EF
  • Odpowiedz
Kursy Online a Programowanie. Czy Warto Kupować Kursy Programowania?

Cześć Został opublikowany nowy artykuł na blogu ModestProgrammer. W tym artykule przyjrzymy się tematyce kursów online w kontekście programowania. Opisałem jakie wady i zalety ma nauka z kursów online. Zapraszam do artykułu

Więcej: https://www.modestprogrammer.pl/kursy-online-a-programowanie-czy-warto-kupowac-kursy-programowania

#programowanie #programista #nauka #naukaprogramowania #programista15k #csharp #dotnet #informatyka #it #szkolenia
kazik- - Kursy Online a Programowanie. Czy Warto Kupować Kursy Programowania?

Cześ...

źródło: comment_16389460101wV6qKzG73dEXWLhnX6MIT.jpg

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy dodanie opcji "readonly" w #php 8.1 sprawia, że dla DTO, value objectów i innych klas immutable nie ma potrzeby tworzyć getterów celem zachowania hermetyzacji? Jak to wygląda w innych językach typu #java #csharp ?

#programowanie
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jurix: pewnie kwestia gustu, ale jak dla mnie celem hermetyzacji jest ukrycie szczegółów które są nieistotne dla osoby korzystającej później z danej klasy, a nie upewnianie się że ta osoba nie zmodyfikuje żadnego propertiesa. private foo; public function getFoo() { return $this->foo; } niczego nie ukrywa, a jak ktoś się uprze to i tak sobie to zmodyfikuje korzystając z refleksji albo zwyczajnie doda setter.

Jeżeli pracujesz z myślącymi ludźmi to
  • Odpowiedz
Jestem na początku przygody z #programowanie w #csharp. Czy to jest możliwe, że w Windows Forms nie ma gotowego elementu interfejsu graficznego jak przełącznik (toggle switch)? Goście w tutorialach się gimnastykują, pisząc jakieś obliczenia matematyczne, żeby się to narysowało na ekranie z połączenia kształtów geometrycznych. No nie wierzę, serio? :D Przecież to jest wszędobylski element w samym Windows.
neov - Jestem na początku przygody z #programowanie w #csharp. Czy to jest możliwe, ż...

źródło: comment_1638541002Pn6V44yphS8zZz8ijMv5lB.jpg

Pobierz
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Inaczej się pisze pod Azury a inaczej z silnikiem używając tego samego języka. Proponuje na starcie zobaczyć tutoriale i przejrzeć przykładowe linijki kodu. Proste i intuicyjne.
  • Odpowiedz
Używacie w pracy paternów DDD ( za moich czasów nazywali to programowanie obiektowym ( ͡° ͜ʖ ͡°)) i tworzycie agregaty rooty czyli klasy które zawierają logikę zapewniająca poprawność danych i udostępniają tylko konkretne operację
czy może jak to mawia klasyk "encja na twarz i pchasz". ORMowe encje są odzwierciedleniem rekordu z bazy danych i wszystko ma publiczne setery którymi ustawiacie co akurat potrzebujecie w kontrolerach, ewentualnie luźno powiązanych
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Whiskeyjack29:
1.Głównie robię tak, przyjmuje coś z kontrolera, mapuje ma obiekt domenowy (1 mapper), w serwisie na tym obiekcie operuje i następnie zapisując do bazy tworzę obiekt bazodanowy (2 mapper), w drugą stronę tak samo.

2. Staram się by nazewnictwo z innych serwisów nie przenikało do mojej domeny biznesowej, mikroserwisu. Stąd znowu te mappery się przydają.

Póki co żyje z tym w kontraktornii, 3.5 lata stażu na karku tak robię i inni
  • Odpowiedz
Hej, może głupie pytanie, ale po co używać automatycznych getterów i setterów tj. {get; set;}? Skoro i tak tworzymy zmienną publiczną, to czemu nie operować bezpośrednio na niej, zamiast odwoływać się przez nią do ukrytego prywatnego pola?

#csharp #programowanie
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Virsky: jesli nie ma zadnej logiki w getterach//seterach to sensu to nie ma zadnego, ale wtedy mozesz sobie walic konia do takich pojec jak "hermetyzacja" czy "ukrywanie implementacji"jak prawdziwy programista crudow
  • Odpowiedz
@Virsky:

Jezeli mówimy o automatic properties czyli Foo Bar { get; set; } to na pierwszy rzut oka nie rózni się to niczym, ale diabeł jak zawsze tkwi w szczegółach, mianowicie:

1. Jezeli uzyjesz pola zamiast property to później jest trudno go zmienić na property jeśli zajdzie taka potrzeba, bo
a) będzie to wymagać rekompilacji wszystkich klientów
  • Odpowiedz
@mathes: imho najlepszy kurs to komputer i książka jak tego nie ogarniasz to potem będziesz tylko zawalidrogą podczas pracy i wkurzał innych wiecznymi pytaniami. Największa zdolność nie tylko programisty ale każdego inżyniera to sztuka samodzielnego rozwiązywania problemów a kurs według mnie uczy czegoś odwrotnego.
  • Odpowiedz
@bedbugsgullet123: nie, jak nie piszesz pseudokodu na kartce i nie debugujesz w glowie to jestes zawalidroga.
Gosc gada o ksiazkach gdzie moze byc ten sam material co np. w kursie o mikroserwisach xd
  • Odpowiedz
Polecacie jakieś wartościowe szkolenia/kursy dla programisty backend w .net? Dostałem informację, że mogę sobie kilka wybrać na następny rok, a jakoś nie za bardzo mam pomysł, co tak na prawdę może mi się przydać. Stack to .net, branża telekomunikacja.

#programowanie #csharp #dotnet
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ElfSiekacz: zależy jak poziom i czego chcesz się nauczyć
Dotnetos - jeżeli zależy ci na sprawach związanych z wydajnością
Devmentors - architektura, mikroserwisy, cqrs i DDD
Bottega - różne szkolenia w różnych terminach
Niedługo chyba też pojawi się Legacy Fighter od Aniserowicza w temacie refactoringu
  • Odpowiedz
100 Pytań (i Odpowiedzi!) z Rozmów Kwalifikacyjnych Dla Młodszych Programistów C#/.NET

Cześć, chciałem przypomnieć, że już w przyszły poniedziałek odbędzie się darmowe szkolenie online, które z pewnością może zainteresować Młodszych Programistów C#/.NET i osoby, które chcą zostać programistami.

Na szkoleniu przedstawię 100 najbardziej popularnych pytań, a także udzielę konkretnej odpowiedzi na każde z nich.

Szkolenie
kazik- - 100 Pytań (i Odpowiedzi!) z Rozmów Kwalifikacyjnych Dla Młodszych Programist...

źródło: comment_1637590114gw5zFsCSCACcVpPQ2gd85s.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nie moge sobie poradzić z SignalR'em.

Wariant numer 1: idzie jakiś http request -> service A -> event A-> signalr hub -> front - wszystko działa

wariant numer 2: rabbit -> wywoływany consumer -> service A -> event A-> signalr hub -> front - no nie działa, w hubcontext nie ma nawet żadnego clienta połączonego.

Ktoś
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
@mrKuaku: signalr odpalasz na konkretnej stronie? Może na niej nie jesteś i websocket nie jest zainicjowany, sprawdź nazwy message czy się zgadzają, sprawdź Network/WS w przeglądarce czy na pewno nie działa.
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 26
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Virsky: no to Photon PUN2 jest ideolo do takich zabaw. Natomaist jak myślisz poważnie o nauce "online'u" to zacznij od mirrora bo mirror z racji że jest host/client to troche wymusza ogarnięcie konceptu autorytatywnego dedykowanego serwera...

powodzenia w przygodzie z online dev'ką... przyda Ci się ( ͡° ͜ʖ ͡°)
  • Odpowiedz