FONForum
http://www.fonforum.org/

Prinicipi OOD-a
http://www.fonforum.org/viewtopic.php?f=8&t=6311
Stranica 1 od 1

Autoru:  zlatko [ 16.04.2006. 14:48:51 ]
Tema posta:  Prinicipi OOD-a

Čitao sam jednu dobru a uz to i zanimljivu knjigu o projektnim obrascima. Ali kroz tekst su se provlačili i principi dizajna koji su ugrađeni u temelje obrazaca. Verujem da su vam neki već poznati, a neke će kod vas izazvati aha efekat:

1. Učaurite ono što ce menja
2. Negujte kompoziciju više od nasleđivanja
3. Programirajte ka interfejsima a ne implementaciji
4. Težite niskoj sprezi objekata koji sarađuju
5. Klase trebaju biti lake za proširenje no teške za izmenu
6. Zavistite od apstrakcije a ne od konkretne klase
7. Princip najmanjeg poznavanja: razgovaraj samo sa neposrednjim prijateljima
8. Holivudski princip: nemojte zvati nas, mi ćemo vas pozati
9. Princip jedne odgovornosti: klasa treba da ima samo jednu odgovornost, tj. samo jedan razlog da se menja

Autoru:  zlatko [ 17.04.2006. 21:47:36 ]
Tema posta: 

1. princip: Ecapsulation of Variation

Ono što se menja treba izdvojiti i učauriti od onoga što ostaje isto, tako da se kasnije ti delovi mogu menjati i zamenjivati bez uticaja na ono što se ne menja.

Ovaj prinicip je duboko usađen u mnoge projektne obrasce a najviše u Most (Bridge), Strategiju (Strategy) i Stanje (State). Ono što se menja su konkretne klase implementacije, stanja ili strategije a njima se pristupa preko zajedničkog interfejsa.

Autoru:  nik [ 17.04.2006. 22:30:14 ]
Tema posta: 

Да су нас овако учили од почетка, било би супер. Мада, морам признати да ми није баш све од овога блиско... јер моћ навике је чудо. Која је књига у питању, ако није тајна? Баш ме сад интересује...

Autoru:  VITA [ 17.04.2006. 22:42:05 ]
Tema posta: 

nadjoh u jednoj knjizi (Refactoring M.Fowler)
kompjuterska nauka je nauka koja misli da se svaki problem koji postoji moze resiti uvodjenjem jednog sloja indirektnosti

kad pogledas sve te paterne ... pa stvarno je tako

:grin:

Autoru:  zlatko [ 18.04.2006. 10:55:31 ]
Tema posta: 

Knjiga je Head First Design Patterns, najzabavniji način da se nauče obrasci. A čuo sam da je čitava ta serija Head First urađena u tom fazonu, ali se do tih knjiga teško dolezi. Ja sam ovu moju sastavljao iz 3 dela, 3 glave odave, 4 odande...

O samim pirnicipima sam čitao i na drugim mestima. Čak ni ne postoji potpuna saglasnost da ima samo toliko i samo tih principa. U jednom tekstu nađem naborojane jedne u druom druge, ali postoje neki koji se u svakom spisku nađu. Fuzzy spisak :)

Sad sam se setio jedne zabavne stranice o resign paternima: http://www.dcc.unicamp.br/~oliva/fun/pr ... n-patterns :lol:

Autoru:  zlatko [ 18.04.2006. 10:56:28 ]
Tema posta: 

2. prinicip: Favor composition over inheritance

Težite sastavljanju pre nego nasleđivanju. Srpski rečeno: HAS-A can be better than IS-A :) Ovaj princip je usko vezan sa prethodnim. Sva ona 3 obrasca se prave sastavljanjem. Mladi programeri se prepoznaju po prevelikoj upotrebi nasleđivanja.

Premoć sastavljanja u odnosu na nasleđivanje se vidi u toku izvršenja programa. Sastavljanje nam tada omogućava dinamičku promenu klase, odnosno ponašanja objekata, što nasleđivanje ne može da pruži. Npr. Obrazac Stanje (State) to stalno koristi. Kad se promeni stanje izvši se sastavljanje sa objektom tog novog stanja i menja se ponašanje klase konteksta.

Autoru:  zlatko [ 19.04.2006. 14:56:50 ]
Tema posta: 

3. princip: Program to an interface

Kaže da treba programirati prema interfejsu a ne konkretnoj implementaciji. Interfejs je ovde sinonim za apstrakciju i ne treba se mešati sa ključnom reči mnogih jezika. Interfejs je u zavisnosti od slučaja realizovan ili kao apstraktna klasa (abstract class ImeKlase...) ili interfejs (interface ImeInterfejsa...).

Ovaj princip sa prethodna 2 čini trojstvo. Sve klase konkretnih implementacija, stanja ili strategija (zavisno od toga koji je obrazac u pitanju) nasleđuju zajednički interfejs za te imlementacije, stanja ili strategije. Time mi lako možemo jednu implementaciju zameniti drugom, čak i u toku izvršenja programa.

Stranica 1 od 1 Sva vremena su u UTC + 1 sat
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/