miercuri, 6 iunie 2012

Rezumat cursuri + net


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
*)        Asocierea = rel structural ce descrie un set de legaturi (leg=conectare intre ob)
*) à   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 CollectionList, 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