Citat:
Originalno napisao degojs
Jednostavno želim da imam mogućnost da definišem ugovor, kao i da jednostavno testiram da li prosleđeni objekt ispunjava potrebne uslove iz istog (vrlo jednostavno ako imaš interfejs).
|
Je l' ti kontaš uopšte da je interfejs kao OO koncept
nužno zlo, tj. predstavlja workaround da bi se u statički tipiziranim jezicima koji ne podržavaju višestruko nasleđivanje odradile neke stvari koje se u duck typingu podrazumevaju?
Ako je nekom uopšte potrebna striktna kontrola toga da li neki objekat odgovara nekom interfejsu, najmanji je problem implementirati tako nešto (kao ovaj lik sa xippi-jevog linka, mada i on koliko vidim više razonode radi), pošto je refleksija kod dinamičkih jezika isto po pravilu ko dobardan. Mada i to nema puno smisla pošto dinamički jezici obično nemaju "potpise metoda" u C-smislu reči, odnosno metode mogu da prime i vrate uslovno rečeno bilo šta. To je feature, a ne bug.
Drugim rečima, ako želiš da ti se kodiranje svodi na "definisanje ugovora", onda i dalje kodiraš u VB.NETu ili čemu već...
