UML
UML
– Colaborarea – def o interactiune, care este o
grupare de roluri si alte elemente care coopereaza in vederea obtinerii unui
comportament a carui complexitate este superioara reuniunii complexitatilor
entitatilor care il compun.
UML
– Use Case = Descrierea unei secvente de actiuni pe
care le executa sistemul si => producerea unui rezultat observabil de catre
un actor particular.
UML
– Interfata = colectie de operatii specifice unui
serviciu oferit de o clasa / componente. Descrie componentele vizibile din
exterior, dar nu si implementarea.
UML
– Clasa activa = o cl a carei ob sunt in
proprietatea unor / m.m. procese / thread-uri. Poate initia o activitate de
control.
UML
– Componenta = partea fizica ce se poate inlocui,
respecta si implem interfete
UML
– Nodul = elem fizic care exista in timpul
executiei, este resursa de calcul (ex. server).
UML
– Elemente comportamentale – se refera la progr
dinamica si unde avem instructiuni cu mesaje schimbate intre ob intr-un context
particular, pt a realize o operatie.
UML
– State Machine = o component care specifica
starile prin care trece un ob sau o interactiune in timpul vietii, ca raspuns
la unul / m.m. evenimente, impreuna cu raspunsul la acele evenimente.
UML
– Relatii
*) ---> Dependenta = rel semantica intre 2 elem in care o schimbare la un
elem poate afecta semantic celuilalt

*) à Generalizarea = rel de specializare / generalizare in care comp ob
specializat (Copil) = substituite pt obiecte de elementele Parintelui.
*)
Realizarea = rel semantic in
care se specifica realizarea unui contract (interfata) (ex intre interf –
clase/component, intre use case-uri – colaborarile ce le realizeaza).
GRAFICA
Pt a fi afisate componentele grafice ale
unei aplicatii, tb plasate pe o suprafata de afisare (Container). Fiecare comp poate fi continuta intr-un sg container,
adaugarea ei pe o noua suprafata => eliminarea de pe vechiul container.
Intrucat componentele pot fi incapsulate in altele => o comp va face parte
dintr-o ierarhie. In radacina acestei ierarhii tb sa existe un Container de nivel inalt : JFrame, JDialog,
JApplet. Corpul ferestrei = o instanta a clasei Container, ce poate fi
obtinuta cu metoda getContentPane. Plasarea + aranjarea comp se va face
folosind ob de tip container si nu direct fereastra.
JButton b = new JButton (“Close”);
getContentPane().add(b);
Desenarea
(cu graphics) se poate face doar pe o componenta de tip JPanel (care extinde
clasa JPanel).
GENERICE
Class GenericClass
{ T ob;
GenericClass (T o) { ob = o; }
T
getob( ) { return ob; }
}
Public Class Main
{ public…main(..)
{
GenericClass iob = new GenericClass (99);
int v = iob.getob( );
GenericClass sob = new
GenericClass (“test”);
string s = sob.getob( );
}
}
Nested
List
- > ListaDeListe
String s = ListaDeListe.get(o).get(o);
1.
Set setty = new Set();
2.
Map> = new HashMap>();
Cum se declara clasele generice( si cele cu
tipuri imbricate List> x=new
List>(…) )
COLECTII – un obiect care grupeaza m.m. elemente intr-o sg unitate
Interfata
Collection – List,
Set. Operatii de baza [ IsEmpty( );
Contains(Object el); remove( ); ], cu multimi [ ContainsAll(Collection c),
addAll(…), removeAll(…), retainAll(…), Clear( ); ]
Interfata
Iterator – permite si stergerea.
public interface Iterator
{ Boolean hasNext( );
Object next( );
void remove( ); // optional, sterge ultimul elem obtinut prin apelul lui
next( );
}
Collection c; // si o initializam
Iterator i;
while(i.hasNext( ))
if(conditie(i.next(
))) //definite de noi
i.remove(
);
Interfata
Set = colectie care nu permite duplicatele (HashSet – tablou hash, TreeSet – red-black)
Interfata
List = colectie ordonata si accepta duplicate
public interface List extends Collection
{ get(index); set (index, element);
add(index, element); remove(index); addAll(index,Colectie); indexOf(Object o);
lastIndexOf(o); listIterator( ); listIterator(index); List subList(from,to); }
Interfata
Map = un obiect care asociaza chei la valori si nu
permite duplicate pt chei (HashMap, TreeMap)
public interface Map
{ put(key,valoare); get(key); remove(key);
containsKey(key); containsValue(value); int size; isEmpty( ); putAll(Map t);
clear( ); public Set KeySet( ); public Collection values( ); public Set
entrySet( ); }
DESIGN
PATTERNS
SABLOANE
CREATIONALE
Factory
Method = sablon creational de clasa (constructor
virtual). Defineşte o interfaţă
pentru crearea unui obiect, dar permite subclaselor să decidă ce clasă vor
instanţia. O clasă poate să deleagă instanţierea la subclase.
Abstract
Factory = sablon creational de
obiect (kit). Şablonul furnizează o interfaţă pentru crearea familiilor de
obiecte înrudite sau dependente, fără a specifica însă clasele lor concrete. Ofera o interfata pentru crearea unei familii de obiecte corelate,
fara a specifica explicit clasele acestora.
Singleton = sablon creational de
obiect. Şablonul asigură faptul că o clasă are o singură instanţă şi că este
oferit un punct global de acces la această instanţă unică.
Builder = sablon creational de obiect. Şablonul separă construcţia unui obiect
complex de reprezentarea acestuia, cu scopul de a permite aceluiaşi proces de
construcţie să poată crea reprezentări diferite.
Prototype = sablon creational de obiect. Atunci când
crearea de noi instanţe a unor clase este complexă sau consumatoare de mult
timp, se foloseşte o instanţă prototip prin care se precizează tipurile de
obiecte ce vor fi create şi se creează noile obiecte copiind acest prototip. specifică ce obiecte trebuie create folosind o instantă pe post de
prototip
SABLOANE STRUCTURALE
Adapter = Wrapper. Transformă interfaţa unei clase într-o altă interfaţă cu scopul
de a uşura compatibilitatea şi reutilizarea unor clase diferite dintr-o
aplicaţie. Folosit cand interfetele nu corespund.
Bridge = decupleaza o
abstractiune de implementarea sa astfel încât cele două să poată varia
independent
Composite = obiecte si grupuri tratate uniform
Decorator = asignare de
responsabilitati în mod dinamic
Facade = oferă o interfată
unificată pentru un set de interfete dintr-un sistem
Flyweight = folosirea partajării
pentru gestionarea unui număr mare de obiecte
Proxy = asigura o intermediere bidirectionala intre
fluxul informational dintr-o retea interna a unei institutii si internet.
Filtreaza fluxul de date in functie de necesitate. Este un intermediar intre
client si obiectul tinta. Cel pt imagini swing incarca intarziat imaginile
(dimensiuni mari). Ofera un inlocuitor pentru un
obiect, prin care se controleaza accesul la acel obiect
SABLOANE COMPORTAMENTALE
Observer = Se defineşte o dependenţă ”unu la mulţi” între obiecte, astfel încât
dacă un obiect îşi modifică starea, toate obiectele dependente de acesta vor fi
notificate.
Iterator = asigura o maniera de acces secvential la elem unui obiect fara a expune
reprezentarea sa de baza.
Modelul de stare = existenta unei structuri care sa retina starea unei entitati si sa
modeleze tranzitiile dintr-o stare in alta prin schimbarea ob asociate fiecarei
stari. (cu Handle( ))
Interpreter
Template
Method = se
defineste scheletul unui algoritm intr-o metoda, lasand implementarea pasilor algoritmului
în seama subclaselor
Chain of
Responsibility = evita cuplarea emitatorului unei
cereri de receptorul acesteia dând posibilitatea mai multor obiecte să trateze cererea
Command = încapsulează o cerere sub forma unui obiect
Mediator = defineste un obiect care încapsulează modul de interactiune al
unui set de obiecte; promovează cuplarea slabă
Memento = captarea si externalizarea stării interne a unui obiect fără a
viola încapsularea datelor
State = permite unui obiect să
îsi schimbe comportamentul atunci când starea sa se modifică
Strategy = defineste o familie de
algoritmi
Visitor = reprezintă o operatie ce se efectuează asupra structurii
obiectului
ASPECT
ORIENTED PROGRAMMING (AOP) – ASPECTJ
Join Points (pct de
lagatura) = locatie bine definita in cadrul codului primar, unde o
functionalitate se intersecteaza in aplicatie (ex. metode, constructori,
gestionari de erori).
Point Cuts = predicate
folosite pt gestiunea pct de legaturi dinamice care pot sa refere / nu la Join
Points si pot spune „ce e adevarat” in momentul in care se suprapune peste un
pct de legatura si poate da acces unor valori a pctului de legaturi. Mai poate
fi privit ca o constructie sintactica care specifica un pct de legsi expune
contextul acestuia. Sunt folosite in structuri de tip Advice.
Niciun comentariu:
Trimiteți un comentariu