|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
25.12.2017, 20:14 | #1 |
Član
Član od: 13.3.2017.
Poruke: 55
Zahvalnice: 30
Zahvaljeno 3 puta na 3 poruka
|
Projektni uzorci
Malo sam čitao o projektnim uzorcima (eng. Design patterns) i naišao sam na mali problem.
Koliko sam razumeo, oni se uče i koriste uz konkretan jezik npr. C++ ili Javu. Da li ima smisla da se oni nauče ako koristim dinamički jezik tipa Python ili Ruby? Na sledećem sajtu sam saznao da oni u stvari nisu ni potrebni jer dinamički jezici nekako prevazilaze potrebu za njima. https://norvig.com/design-patterns/ |
25.12.2017, 21:20 | #2 |
Deo inventara foruma
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
|
Re: Projektni uzorci
Designe patterns nisu jezički specifični već su generalna rešenja za probleme koja mogu da se implementiraju u svakom programskom jeziku koji ispunjava minimalne preduslove za tako nešto (obično da su OOP tipa).
Da ne bih bespotrebno kopirao sadržaj koji je već negde lepo izložen baci pogled na recimo Factory pattern, gde u sekciji sa primerima možeš videti kako se isti pattern realizuje u nekoliko različitih jezika. Ono što je veoma bitno za razumevanje ovih šablona je dobro poznavanje osnovnih koncepata objektno orijentisanog programiranja (enkapsulacija, polimorfizam, nasleđivanje, apstraktne klase, interfejsi itd.) Poslednja ispravka: Neutrino (25.12.2017 u 21:28) |
Sledeći korisnik se zahvaljuje korisniku Neutrino na korisnoj poruci: | ||
NovaNada (26.12.2017) |
26.12.2017, 10:49 | #3 |
Član
Član od: 13.3.2017.
Poruke: 55
Zahvalnice: 30
Zahvaljeno 3 puta na 3 poruka
|
Re: Projektni uzorci
Hvala, bio sam u zabludi da to nisu univerzalna rešenja.
Iz tvoje treće rečenice, pojavila se sledeća nejasnoća. Npr. Python nema mogućnost da deklarišem neka polja ili metode kao privatne ili zaštićene, pa samim tim taj OOP jezik nema enkapsulaciju. Da li je to u opšte bitno ili treba krenuti od nekoj jezika koji podržava sve koncepte koje si naveo? |
26.12.2017, 11:40 | #4 |
Deo inventara foruma
Član od: 14.3.2008.
Lokacija: EHCPCGG
Poruke: 12.110
Zahvalnice: 4.319
Zahvaljeno 3.295 puta na 2.274 poruka
|
Re: Projektni uzorci
Ako jezik nema tu mogućnost implementiraćeš to na onaj način na koji je u tom jeziku to predviđeno da se uradi. Na primer, kod Pythona ne možeš da odrediš nivo pristupa atributima objekta jer su koncepti kojima se jezik vodi upravo takvi da se upotreba tog aspekta OOP onemogućava i obeshrabruje - ali na netu, nezavisno od jezika, uglavnom možeš da pronađeš informacije o tome kako zaobići ograničenja jezika i implementirati određene patterne u njima - negde nećeš moći da ih implementiraš u potpunosti (sa svim osobinama tog patterna), negde će biti teže a negde lakše za implementaciju a od toga kakva ograničenja postoje će zavisiti i nivo kompleksnosti same implementacije.
U svakom slučaju ja kad zapne sednem na Google i roknem "<naziv patterna> in <naziv jezika>" i krenem da čačkam po primerima. Najvažnije je da si upoznat sa teorijom (koji patterni se najčešće koriste i u kojim situacijama) a sa implementacijom ćeš onda lako da se izboriš. |
Sledeći korisnik se zahvaljuje korisniku doctor na korisnoj poruci: | ||
NovaNada (26.12.2017) |
26.12.2017, 12:15 | #5 | ||
Deo inventara foruma
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
|
Re: Projektni uzorci
Citat:
Ono što Python ne podržava su protected deklaracije ali one u Pythonu ne bi imale preteranog smisla s obzirom na strukturu i folozofiju samog jezika (Zen of Python). Citat:
Programski jezici su u toj priči samo alat koji i dalje mora da prati plan kuće i usput bude prilagođen potrebama projekta i plana izgradnje. Mislim, može malter da se meša i u običnoj kofi ali će onda izgradnja da traje deset godina |
||
Sledeći korisnik se zahvaljuje korisniku Neutrino na korisnoj poruci: | ||
NovaNada (26.12.2017) |
26.12.2017, 13:40 | #6 |
Član
Član od: 13.3.2017.
Poruke: 55
Zahvalnice: 30
Zahvaljeno 3 puta na 3 poruka
|
Re: Projektni uzorci
Hvala obojici, sada je sve vrlo jasno.
Znači, prvo UML i patterni, a onda se igrati sa implementacijom. |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Projektni rad iz konstruisanja.... | Fiky | Brbljaonica | 0 | 19.10.2010 17:17 |