Wpis z mikrobloga

@gajowy_marucha: to magia! to nei jest podejście. To droga na skróty przez wysokie pokrzywy bez majtek na dupie. To głupota, to samobójstwo. To podejście godne laravela.
@uirapuru: daj spokój, ciężko się przestawić. Strasznie ciężko. Patrzysz na ten kod i najpierw, wow jakie czytelne, później jezu jakie #!$%@?. Dopiero później dostrzegasz zalety.
@gajowy_marucha: nie jestem tak biegły w sztuce DDD jak kmicolo, ale robiłem do tej pory podobnie jak w hexagonal symfony, czyli właściwa encja tych pól nie miała, a dopiero dziedzicząca po niej encja "z warstwy persystencji" (nie wiem czy dobrze to nazywam), którą faktycznie operował doctrine
@uirapuru: Nie bardzo rozumiem. Symfony obczajam dopiero od paru tygodni.
Ja mam jedna superclass po ktorej dziedzicza encje z ORM. te pola co wymienilem sa tylko w tej Base superclass.

Np mogę mieć taką strukturę: Base (superclass) {id, createdat, modifiedby itp} -> Dict (superclass) {name, code} -> Country (Orm) {continent}

Moglbys wyjasnic czemu to jest złe podejscie? Jesli jest złe. dzieki.
@gajowy_marucha https://github.com/MarcelloDuarte/hexagonal-symfony/ - zajrzyj zwłaszcza do plików

https://github.com/MarcelloDuarte/hexagonal-symfony/blob/master/src/SensioLabs/CeremonyTrackerBundle/Entity/Project.php

oraz

https://github.com/MarcelloDuarte/hexagonal-symfony/blob/master/src/SensioLabs/Ceremonies/Project.php

a następnie jako "ślad" obadaj, czemu jedno jest w Bundle a drugie nie ;) Po prostu to rozerwanie pomiędzy rzeczy należące do domeny i nienależące (kod z bundle, id, create date itd)

co to superclass to moim zdaniem bardzo złe rozwiązanie. zmień jedno w superclass, zmienisz we wszystkich. Osobiscie unikam dziedziczenia jak ognia, a już tymbardziej nie pozwalam sobie na pisanie kodu,
@gajowy_marucha: zauwazylem, ze programowanie ostatnio to dla mnie głównie znajomosc ludzkich zachowań. Ludzie (w tym ja) często zakładają, że coś się nie zmieni - przykładowo. nie przewidują, że nawet nazwa klasy (typu *Manager czy coś) potrafi powodować, że z czasem dzieje się w środku śmietnik. Zatem im więcej malutkich klas, każda final, zablokowane dziedziczenie, jednocelowość każdego kawałka kodu - tym lepiej. Blokuj na starcie sam swoje własne lenistwo w przyszłości. Coś
@uirapuru: nie no ja rozumiem to ale nie chodzi o lenistwo wrecz przeciwnie. Pomyslalem ze po co ma deklarowac np takei version wszedzie. Jak bede chcial np nr wersji zmieniac co 100 albo pole modifiedAt z date na datetime - wystarczty zmienic w jedym miejscu a nie robic refactor wszystkcih klas. Chyba wlasnie po to miedzy innymi jest dziedziczenie? Tak jak mowil @kmicolo mogle uzyc traitow ale co za roznica tak