Pogledajte određenu poruku
Staro 04. 11. 2008.   #3
degojs
I'm a PC too.
Wrote a book
 
Avatar degojs
 
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
degojs će postati "faca" uskorodegojs će postati "faca" uskoro
Default

Razliku između jednog i drugug možeš i sam da nađeš ako malo potražiš, a preporučio bih da kreneš od MSDN-a.

Ima jedna stvar na koju obrati pažnju: često će kao nedostatak interfejsa da se nabroji to da oni izazivaju lomljavu ako poželiš da ih izmeniš ili to da ne nude mogućnost za implementaciju, ali to baš više i nije tačno jer lako mogu da se prošire koristeći extension methods. Ako budeš nabavljao neku knjigu, dakle, obavezno obrati pažnju da je up-to-date sa novijim verzijama C# (3.0).

Inače, mnogo se koriste da se komponente sistema razdvoje - da jedna komponenta ne ovisi od konkretne implementacije druge. Šta to znači? Pa u ovom primeru što je pomenuo Ivanhoe, možeš lepo da programiraš "against interface" i baš te briga da li tvoj kod priča sa MySQL ili Oracle bazom - ti programiraš koristeći interfejs npr. IDatabaseCommand, a MySQLCommand i OracleCommand klase obe implementiraju taj interfejs pa tebe nije briga sa kojom konkretno od njih radiš (nećemo da biramo klijente na osnovu toga koju bazu oni imaju - neka firma može da već ima jednu, a neka drugu bazu, a mi lepo možemo da radimo za bilo koga od njih.. Nećemo da odbijemo posao samo zato što oni tamo već imaju npr. Sybase ili DB/2 ili zato što oni neće da na mrežu dodaju FirebirdSQL koji mi najviše volimo da koristimo). Pojednostavljeno objašnjenje

Ovakva postavka, "decoupling" između komponenti, je inače imperativ kod TDD-a. Opet, u tom gore primeru, lako ćeš da pišeš unit testove koristeći lažnu bazu (npr. koristiš neku FakeCommand klasu koja implementira IDataBaseCommand, da ne ulazimo u priču oko mock-ovanja. Vidi link dole za više detalja).

E da, evo ti jedan link, već su ljudi i ovde hvalili istu knjigu. Sa manje od 100 stranica i cenom $0, nekako je obavezno čitanje. Ako ti se čini da ne razumeš najbolje materijal u istoj, ne zaboravi da je pogledaš kasnije kad malo ukapiraš kako stvari rade.

http://www.novetehnologije.com/ShowN...ogramming.aspx
__________________
Commercial-Free !!!

Poslednja izmena od degojs : 04. 11. 2008. u 04:29.
degojs je offline   Odgovorite uz citat