Uzorci ponašanja

Iz Vikipedije, slobodne enciklopedije
Idi na navigaciju Idi na pretragu

U softverskom inženjerstvu uzorci ponašanja su projektni uzorci koji pokušavaju da identifikuju česte obrasce koji se javljaju u komunikaciji između objekata i da ih pretvore u projektne uzorke. Ovim se postiže fleksibilnost u sprovođenju komunikacije među objektima.

Primeri uzoraka ponašanja su:

  • Posmatrač: Definiše zavisnost 1:N između objekata, takvu da kada jedan objekat promeni stanje svi zavisni objekti budu obavešteni i automatski se ažuriraju.
  • Iterator: Obezbeđuje sekvencijalni pristup elementima nekog agregatnog objekta bez eksponiranja unutrašnje strukture tog agregata.
  • Strategija: Definiše familiju algoritama, enkapsulirajući svaki i čini ih međusobno zamenjivim. Strategija omogućava jednostavnu promena algoritma u vreme izvršenja.
  • Šablonski metod: Definiše kostur nekog operacionog algoritma, delegirajući pojedine korake potklasama. Šablonski metod omogućava potklasama da redefinišu određene korake algoritma bez izmene njegove strukture.
  • Stanje: Omogućava objektu da menja svoje ponašanje kada se menja njegovo unutrašnje stanje. Izgleda kada da objekat menja svoju klasu.
  • Podsetnik: Bez narušavanja enkapsulacije snima i eksternalizuje stanje nekog objekat, tako da omogući da se objekat kasnije može vratiti u dato stanje.
  • Posrednik: Definiše objekat koji enkapsulira kako skup objekata interaguje. Posrednik omogućava slabo sprezanje objekata što postiže čuvanjem objekata koji se međusobno referišu, a to dozvoljava da im se interakcija menja nezavisno.
  • Komanda: Enkapsulira zahtev u jedan objekat, omogućavajući da se klijenti parametrizuju različitim zahtevima, da se zahtevi isporučuju kroz red čekanja, da se pravi dnevnik zahteva i da se efekti izvršenog zahteva ponište.
  • Lanac odgovornosti: Izbegava neposredno vezivanje pošiljaoca zahteva sa primaocem zahteva, dajući šansu većem broju objekata da obrade zahtev. Lanac odgovornosti povezuje objekte primaoce zahteva u lanac i prosleđuje zahtev niz lanac dok ga neki objekat ne obradi.
  • Posetilac: Reprezentuje jednu operaciju koju treba primeniti na elemente jedne objektne strukture. Posetilac omogućava definisanje nove operacije bez izmene klasa elemenata nad kojim se izvršava.
  • Interpreter: Za dati jezik definiše reprezentaciju njegove gramatike, kao i interpeter koji koristi tu reprezentaciju da interpretira iskaze jezika.

Vidi još[uredi]