Stiluri / tipare arhitecturale - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Stiluri / tipare arhitecturale

Description:

Stiluri / tipare arhitecturale Structurare: metode de descompunere controlata in subtaskuri cooperante Layers Pipes and Filters Blackboard; cu variantele Repository ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 23
Provided by: upt97
Category:

less

Transcript and Presenter's Notes

Title: Stiluri / tipare arhitecturale


1
Stiluri / tipare arhitecturale
  • Structurare metode de descompunere controlata
    in subtaskuri cooperante
  • Layers
  • Pipes and Filters
  • Blackboard cu variantele Repository, Active
    Database
  • Event-driven (Implicit Invocation) cu variantele
    Publisher-Subscriber, Event-Bus
  • Sisteme interactive
  • Model-View-Controller
  • Presentation-Abstraction-Control
  • Sisteme distribuite
  • Client-Server
  • Client-Dispatcher-Server
  • Broker
  • Sisteme Adaptabile
  • Reflection
  • Microkernel

2
Sisteme interactive
  • Sisteme interactive exista multe interactiuni cu
    utilizatorul, de obicei prin intermediul unei
    interfete grafice
  • Obiectiv independenta intre implementarea
    functionalitatii si interfata grafica utilizata
  • De ce ? Pentru ca se presupune ca partea care
    implementeaza functionalitatea este mai stabila,
    iar partea de interfata utilizator mai mult
    afectata de customizari
  • Tipare arhitecturale
  • Model-View-Controller
  • Presentation-Abstraction-Control

3
Model-View-Controller
  • Tiparul arhitectural MVC structureaza aplicatiile
    interactive in 3 componente Model nucleul
    continand functionalitatea si datele Views
    afisarea informatiilor Controllers tratarea
    user input. User Interface ViewsControllers.
    Tiparul implementeaza un mecanism de propagare a
    modificarilor care asigura consistenta intre User
    Interface si Model.
  • Exemplu problema un sistem informatic de
    reprezentare a rezultatelor electorale.

4
Exemplu MVC
MODEL
INTERACTIUNI UNIDIRECTIONALE (Output)
INTERACTIUNI BIDIRECTIONALE (InputOutput)
VIEWS
CONTROLLER
POSA-Fig/P.125
5
Structura MVC
Controller un ConcreteObserver avand in plus
anumite atributii speciale
POSA-Fig/P.129
6
MVC Scenariu User Input
POSA-Fig/P.130
7
MVC Scenariu initializare
POSA-Fig/P.131
8
Proprietati ale stilului MVC
  • Avantaje
  • Multiple views of a model
  • Synchronized views
  • Pluggable views and controllers
  • Exchangeability of looks
  • Framework potential
  • Atentionari
  • Potential for excessive number of updates
  • Connection between view and controller
  • Coupling of views and controllers to a model

9
Presentation-Abstraction-Control
  • Tiparul arhitectural PAC structureaza
    aplicatiile interactive sub forma unei ierarhii
    de agenti cooperanti. Fiecare agent raspunde de
    un anumit aspect al functionalitatii si consta
    din 3 componente Presentation, Abstraction,
    Control. Aceste componente separa partea de
    interactiune cu utilizatorul de partea de nucleu
    functional si de partea de comunicare cu ceilalti
    agenti.
  • Exemplu problema un sistem informatic de
    reprezentare a rezultatelor electorale (problema
    similara cu cea de la MVC).
  • Ce difera de MVC metoda de abordare a
    dezvoltarii aplicatiei interactive pe baza de
    agenti
  • Agent componenta care realizeaza o procesare a
    informatiei
  • Contine
  • Structuri de date reprezentand starea sa
  • Event receivers si event transmitters
  • Procesor care trateaza si produce evenimente,
    actualizeaza starea

10
PAC Formularea Problemei Ierarhie de agenti
POSA-Fig/P.145
11
PAC - Structura
POSA-Fig/P.151
12
PAC Structura agentilor
  • Fiecare agent este compus din 3 componente
  • Presentation interfata utilizator proprie
    agentului
  • Abstraction modelul de date specifice agentului
  • Control
  • conecteaza in interiorul agentului partea lui de
    Presentation de cea de Abstraction
  • Asigura comunicarea cu alti agenti
  • Ierarhie de agenti
  • Top-level Realizeaza functionalitatea sistemului
  • Abstraction modelul global al datelor,
    independent de maniera de reprezentare
  • Control coordoneaza ierarhia de agenti,
    autorizeaza sau nu in functie de context si
    agenti solicitanti anumite operatii asupra
    modelului
  • Presentation acele parti din interfata
    utilizator care nu tin de un anume agent (de
    exemplu meniul comun aplicatiei)
  • Bottom-level Entitati cu o semantica proprie
    bine definita, asupra carora actioneaza
    ujtilizatorul (chart-uri, spreadsheet)
  • Presentation rezolva toate operatiile facute de
    utilizatori asupra lor (zoom, move chart)
  • Abstraction model local al datelor nu exista
    alti agenti care depind de acesta.
  • Control intermediaza interactiunea dintre
    Presentation si Abstraction in cadrul agentului
    comunica cu componenta de control a agentilor
    ierarhici superiori pentru schimb de date si
    evenimente.
  • Intermediate level
  • Coordonare mentinerea consistentei intre agentii
    de nivel inferior (ex coordonedaza vederi
    multiple ale acelorasi date)
  • Composite

13
PAC Exemplu structura BarChartAgent
POSA-Fig/P.153
14
PAC Exemplu detaliere structura BarChartAgent
POSA-Fig/P.159
15
POSA-Fig/P.152
16
PAC Exemplu scenariuDeschidere nou BarChart
View
POSA-Fig/P.154
17
PAC Exemplu scenariu Introducere noi date prin
Spreadsheeet
POSA-Fig/P.155
18
Pasi de definire a unei arhitecturi PAC
  • Definirea modelului aplicatiei
  • Definirea strategiei de organizare a ierarhiei de
    agenti
  • Specificarea agentului top-level
  • Specificarea agentilor bottom-level
  • Specificarea agentilor intermediate-level care
    compun mai multi agenti bottom-level
  • Specificarea agentilor intermediate-level care
    coordonedaza agenti de nivel inferior
  • Separarea functionalitatii de interactiunea cu
    utilizatorul Definirea componentelor
    Abstraction, Presentation si Control pentru
    fiecare agent
  • Realizarea mecanismului de comunicare intre
    agenti (parte a componentei de Control).
  • Composite Message interfata uniforma, aceleasi
    2 operatii pentru toate tipurile de comunicari
    (in interiorul agentului sau intre agenti).
  • Legarea agentilor intr-o ierarhie

19
Exemplu aplicatie PAC Robot mobil
POSA-Fig/P.165
20
Exemplu aplicatie PAC Network management
POSA-Fig/P.164
21
Proprietati ale stilului PAC
  • Avantaje
  • Separation of concerns concepte cu semantici
    diferite sunt reprezentate prin agenti separati
  • Support for change and extension se pot face
    schimbari in partea de Abstraction sau
    Presentation a agentilor Se pot introduce agenti
    noi
  • Support for multitasking/distributed computing
  • Atentionari
  • Complexitatea sistemului
  • Complexitatea componentelor de control
  • Eficienta scazuta datorita overhead-ului de
    comunicare intre agenti
  • Aplicabilitate redusa la anumite categorii de
    aplicatii

22
Discutie PAC vs MVC
Write a Comment
User Comments (0)
About PowerShow.com