Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Twoja encja ≠ Twój model

Gorąco polecam artykuł:

Twoja encja ≠ Twój model

Zasadniczym błędem (lub raczej skrótem myślowym) jest założenie, że każda klasa mapowana przez ORM na tabele może służyć jako model przekazywany bezpośrednio do widoku. Nie znaczy to, że jest to nie możliwe, jednak opcja ta jest z reguły nadużywana. Wynika to poniekąd ze stylu programowania wyuczonego z tutoriali z cyklu "wyklep CRUDa w 5 min.". Piękne i proste, jednak nie mające wiele wspólnego z problemami dnia codziennego. Z drugiej strony jest to wina samego lenistwa programistów oraz przeświadczenia, że faza projektowania z rozpiską architektury chociażby na kartce papieru jest tylko dla kobiet i leszczy ;)


źr. http://horusiath.blogspot.com/2013/10/o-pomykach-i-wni...

Pytanie: na ile Wy "idziecie" na skróty, bo ja jestem niemalże ortodoksem w OOAP, i na dłuższą metę sprawdza się to doskonale... ale to - analiza i projektowanie - nie jest Agile, ale ja nie wiem nadal co to jest "agile"...

konto usunięte

Temat: Twoja encja ≠ Twój model

<offtopic>
Nie wiem dlaczego analiza i projektowanie nie może iść w parze z agile? Od dwóch lat prowadzę zespół wg Scrum'a i nie kłóci się to z mym fanatyzmem na punkcie OO(P oraz A/D) :)
</offtopic>

Co do chodzenia na skróty, to miałem na początku napisać, że "to wszystko zależy od wielkości i czasu życia projektu" i że "w przypadku mniejszych to coś można poświęcić", ale nie mogę sobie przypomnieć żadnego projektu w przeciągu kilku ostatnich lat, gdzie bym jednak sobie na taki zabieg pozwolił.

Zdaję sobie sprawę, że pewnie proste CRUDy itp. można by tak napisać, ale dawno nie pracowałem nad czymś takim, a poza tym nie wiem na ile sam bym się mimo wszystko na coś takiego zdecydował.
Programista też człowiek i do pewnych standardów się przyzwyczaja i ciężko jest go później zmusić do tworzenia w inny sposób:)

Z drugiej strony stwierdzenie "iść na skróty" też można różnie zinterpretować, bo tam gdzie Ty widzisz skrót ja mogę widzieć całkiem rozsądną drogę:) Dużo zależy od umiejętności i doświadczenia.Ten post został edytowany przez Autora dnia 24.10.13 o godzinie 10:35
Kamil Grzybek

Kamil Grzybek Architekt
Oprogramowania .NET

Temat: Twoja encja ≠ Twój model

Wzorzec projektowy MVC jest wykorzystywany w warstwie prezentacji a encje należą do warstwy logiki biznesowej (zakładam, że rozważamy styl architektoniczny warstwowy). Zgadzam się w całości z autorem artykułu, że rozwiązania pokazywane w tutorialach (a czasami niestety blogach) mają się nijak do projektowania prawdziwych aplikacji.

Chodzenie na skróty powoduje wzrost długu technicznego (technical debt) a długi mają to do siebie, że kiedyś trzeba je spłacić - zazwyczaj dużo więcej niż się "pożyczyło". Czasami ciężko jest tego uniknąć - bo klient chce na wczoraj, bo niewykwalifikowana kadra, bo budżet mały itd, ale od takiego sposobu działania powinniśmy stronić jak tylko się da :)

konto usunięte

Temat: Twoja encja ≠ Twój model

Sebastian M.:
<offtopic>
Nie wiem dlaczego analiza i projektowanie nie może iść w parze z agile? Od dwóch lat prowadzę zespół wg Scrum'a i nie kłóci się to z mym fanatyzmem na punkcie OO(P oraz A/D) :)
</offtopic>

Responding to change over following a plan
Individuals and interactions over processes and tools
"Working software" over comprehensive documentation

Agile z definicji odrzuca projektowanie i analizę;

konto usunięte

Temat: Twoja encja ≠ Twój model

Kamil G.:
Wzorzec projektowy MVC jest wykorzystywany w warstwie prezentacji

"Wzorzec projektowy MVC jest wykorzystywany w warstwie prezentacji"; serio...
Model View Controller jest wykorzystywany w warstwie prezentacji ...
a encje należą do warstwy logiki biznesowej (zakładam, że rozważamy styl architektoniczny warstwowy). Zgadzam się w całości z autorem artykułu, że rozwiązania pokazywane w tutorialach (a czasami niestety blogach) mają się nijak do projektowania prawdziwych aplikacji.

Chodzenie na skróty powoduje wzrost długu technicznego (technical debt) a długi mają to do siebie, że kiedyś trzeba je spłacić - zazwyczaj dużo więcej niż się "pożyczyło". Czasami ciężko jest tego uniknąć - bo klient chce na wczoraj, bo niewykwalifikowana kadra, bo budżet mały itd, ale od takiego sposobu działania powinniśmy stronić jak tylko się da :)

fascynujące

Następna dyskusja:

Wzorzec MVC i orientacja na...




Wyślij zaproszenie do