Wnerwiaja mnie ludzie co całego zdania nie rozpatruja tylko pokjedyncze kawałki

2

Na przykład w pracy mówisz Januszowi "jeżeli dostanę te dane to napiszę w ciągu 3 dni ten kawałek", przyłazi po 3 dniach i chce kawałek mimo ze nie dal danych, bo tylko cześć tekstu rozważył.
Warunki początkowe to dla takich słowo w obcym języku.
Kłócę sie w komentarzach o to że nie zawsze potrzebny jest ORM, ale @Schadoow upieera siuę że jak występuje M z tej nazwy to już jest ORM ;)
Czy zawsze dostosowujecie sie do pomyslow TL przy review?
Kupcie se krzesło tylko nie idźcie do sklepu elektrycznego bo tam przymiotnik też zignorujecie ;)

1

XD. Chyba nie potrafisz parsować tekstu pisanego ja sie kłóce z tobą czy występuje mapowanie wartości z bazy na jakikolwiek byt w twoim kodzie.
A nie czy potrzebujesz orma czy nie.

9

To jest klasyczny przykład problemów komunikacyjnych.
Wyraźnie jest rozdźwięk pomiędzy:

  • to co ktoś powiedział
  • to co miał na myśli
  • to co odbiorca zrozumiał

Cały konflikt zrodził się właśnie z tego problemu. Z tego co czytam między linijkami to problem jest w obu kierunkach komunikacyjnych.
To jest problem powszechny i profesjonaliści powinni zdawać sobie z niego sprawę i próbować im zaradzić na tyle ile to możliwe, a nie automatycznie obrażać się wyskakiwać z pretensjami itp, bo to jest dosłownie niezdrowe.

I radzę też zapamiętać: "Jeśli się kłucisz to przegrywasz" (w originale "If you are arguing you are loosing").

7

W sumie nie wiem co napisać, więc zostawię komentarz dla zasięgów. Pozdrawiam :D

1

@Miang: Przecież problem jest po Twojej stronie. Schadow twierdzi, że ORM ułatwia mapowanie. A ty twierdzisz, że skoro jest mapowanie to co ma do tego ORM xD

1

Aż postanowiłem się zalogować, w sumie to zgadzam się z tym co napisał @Schadoow

Jednakże trzeba tu trochę wyjaśnić sprawy ja bardzo lubię ORM, nawet dlatego sam czasem je piszę fajne to i proste do zbudowania.

Jednakże pani Miang preferuje język C, a akurat w tym języku nie ma w prosty sposób Refleksji, są na makrach preprocesora, czasem z użyciem lib clang, są jeszcze jakieś na templatach w C++, ale są okropne.

A teraz jak chcemy komunikować się z bazą to robimy wszystko ręcznie, tworzymy klasę, która zawiera wszystkie pola naszej tabeli, potem wczytujemy potem mapujemy ręcznie do każdego pola i rzutujemy na odpowiedni typ. Dodatkowo jak coś się zmieni to musimy prawie cały kod przebudowywać, bo mapowania się nie będą zgadzać, no chyba że ktoś po pobraniu z SQL po prostu robi coś w typu data[0][4].

A teraz robimy prostego ORM, tworzymy klasę, która ma nazwy równe nazwą pól w tabeli i dzięki refleksją zdobywamy nazwy tych pól i ich typy.
Teraz jak generujemy SQL, to przy próbie odczytu jakiegoś id, to generujemy SQL typu dla pobrania np. wiersza o danym id: select <nazwy pól w danej kolejności jak pobraliśmy za pomocą refleksji z klasy> from table where id = {id} i teraz możemy po prostu wypełnić obiekt zwróconymi wartościami bo mamy 1:1 mapowanie.

I teraz jak stworzymy samą klasę to mamy automatycznie generowanie wszystkich czynności na bazie danych, można do debugu dodać także metodę .sql(), która wypluje jaki dla danego zapytania powstałby sql, żeby móc w razie co szybko buga złapać.

I teraz jak raz napiszesz ORM, to już nie musisz ręcznie wszystkiego robić, tylko tworzysz nową klasę, która dziedziczy po modelu, który wewnątrz zajmuje się refleksją, generowaniem sql dla danej klasy.

Ja myślę podobnie jak Schadoow, że jak ktoś sam raz napisał ORM używając refleksji i generowania prostego SQL, to zauważy, że nie ma sensu za każdym razem od nowa tworzyć ręcznie zapytań jak wystarczy tabele opisać klasą jej membersami i po prostu zautomatyzować cały ten proces.

Dlatego jak dla mnie ORM to coś pięknego, użyjesz refleksji i możesz praktycznie zautomatyzować całą pracę na bazie danych, mega fajna abstrakcja i nie zgadzam się z każdym kto się nie zgadzał z @Schadoow

2

Skoro Flejm to Flejm ;3

Miang, sama bardzo często tak robisz gdy tylko zostanie poruszony pewien konkretny temat ;3

1

Dajcie se buzi i się już nie kłóćcie.

1

A ja uważam, że @Miang ma rację.

1

Też się zgadzam z @Miang, nie każde mapowanie bazy na struktury/klasy to od razu ORM.

1

Najlepszym tego przykładem jest chociażby spark i jego dataframy / datasety :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1