tag:blogger.com,1999:blog-5197374494377847819.post6532346671843882319..comments2024-03-22T22:13:46.650+01:00Comments on Holistycznie o inżynierii oprogramowania: Open/closed principle - zastosowanie na poziomie architektury aplikacji oraz metafory wizualneSławek Sobótkahttp://www.blogger.com/profile/15082577671795313109noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-5197374494377847819.post-3251000681509895792013-06-29T23:05:00.647+02:002013-06-29T23:05:00.647+02:00@Marcin
Posłużyłem się skrótem myślowym, który fa...@Marcin<br /><br />Posłużyłem się skrótem myślowym, który faktycznie bez wyjaśnienia może brzmieć dziwnie. Ale aby go wyjaśnić trzeba by rozpocząć wywód zataczający kręgi wokół różnych podejść, konsekwencji z nich płynących, metodyk analizy, DDD...<br /><br />Ale rozwinę go nieco podając przykłady podejść:<br />pisząc o naiwnym podejściu polegającym segregacji rzeczowniki/czasowniki maiłem na myśli podejście, w którym to:<br />1. "parsujemy" tekst szukając "dużych" (często występujących) rzeczowników<br />2. "parsujemy" go ponownie szukając "małych" rzeczowników i wrzucamy te małe rzeczowniki do "worków" z fazy 1.<br />3. ostatni nawrót parsera to wyłapywanie czasowników i doklejanie ich gdzieś do "worków"<br /><br />Jest to nic innego jak modelowanie struktur danych (z metodami) a nie obiektów.<br /><br />Przykładowo w DDD skupiamy się na ochranianiu niezmienników w agregatach (hermetycznych grafach obiektów). Najpierw zastanawiamy się, które z "małych" rzeczowników zmieniają się razem i jakie są między nimi reguły, później grupujemy je w roki i na podstawie zachowania (metod) zastanawiamy się czym są te duże "worki" (jakie mają nazwy).<br /><br />Inne podejście: szukamy zdarzeń w modelu i zastanawiamy się co razem podlega zmianie...<br /><br />Siłą rzeczy sprowadzam intuicyjny proces do mechanicznej procedury, aby wyjaśnić różnicę; tak na prawdę procesy myślowe przebiegają inaczej.<br /><br />Temat jest szeroki i być może mówimy o tym samym a problem wynika z inne rozumienia słów-kluczy w tekście. Chętnie podyskutuję przy okazji jakiejś konferencji albo spotkania branżowego.Sławek Sobótkahttps://www.blogger.com/profile/15082577671795313109noreply@blogger.comtag:blogger.com,1999:blog-5197374494377847819.post-17193775572287419432013-06-29T02:30:07.032+02:002013-06-29T02:30:07.032+02:00Hej, napisałeś: "Często programowanie obiekto...Hej, napisałeś: "Często programowanie obiektowe jest nauczane w naiwny (i błędny) sposób jako separację rzeczowników (klasy) i czasowników (metody)"<br /><br />Czy mógłbyś rozwinąć myśl? Być może czegoś nie rozumiem, szczególne biorąc pod uwagę późną porę, ale na tę chwilę nie zgadzam się z tezą o błędnym/naiwnym podziale w kontekście przekształcania czynności/metod w "first class citizen". Moim zdaniem taki zabieg jest tu podyktowany ograniczeniem języka (Java). Np. w Pythonie każdy obiekt jest FCC, dlatego tego rodzaju otoczkę można pominąć i tym samym zachować semantykę (nie mówię, że w bezwzględnie każdym przypadku).<br /><br />Zaryzykowałbym raczej stwierdzenie, że programowanie obiektowe nauczane jest naiwnie przez ignorancję bardziej elastycznych rozwiązań i purytańskie podejście do samego OOP (popadanie w skrajności nie służy nikomu).<br /><br />PS. Może w tej materii mam nieco inne zdanie, ale dziękuję za świetny blog - wiele się nauczyłem czytając Twoje publikacje.<br /><br />Marcin.<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5197374494377847819.post-15088580959963366642013-06-10T16:10:01.708+02:002013-06-10T16:10:01.708+02:00Tak, faktycznie wysłałem pdfa po korekcie. Ale spr...Tak, faktycznie wysłałem pdfa po korekcie. Ale sprawdziłem i nie mam niestety wersji po zastosowaniu korekty - podmienię gdy dostanę ją z redakcji.Sławek Sobótkahttps://www.blogger.com/profile/15082577671795313109noreply@blogger.comtag:blogger.com,1999:blog-5197374494377847819.post-14172308047959548092013-06-10T16:06:54.540+02:002013-06-10T16:06:54.540+02:00Miły, lekki i przyjemny, acz porządkujący i poszer...Miły, lekki i przyjemny, acz porządkujący i poszerzający wiedzę artykuł! Jedyna uwaga (techniczna): PDF-a zrobiono chyba z wersji niepoprawionej (ale zawierającej już uwagi redaktora).Anonymousnoreply@blogger.com