Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Architecture
Rubby Casallas G.
Departamento de Sistemas y Computación
Facultad de Ingeniería
Universidad de los Andes
2003
Objetivos
1
Referencias
Agenda
• Objetivos
• Referencias
• La arquitectura
– Responsabilidades del modelo
– Responsabilidades de las vistas
– Responsabilidades de lso controladores
• MVC y java
• Ejemplo
2
La arquitectura MVC
3
Motivación para el MVC (2)
4
* Observer
• Update
Model
• Application
services
• Get data
• Notify
changes
Observer
* • Update
View Controller
Model
• Application
services
• Get data
• Notify
changes
5
Responsabilidades de las vistas
6
Observer
* • Update
View Controller
Model
• Application • Update • Update
services • Display • Manage events
• Get data information
• Notify
changes
MVC y Java
7
Componentes Swing
JButton
ButtonModel ButtonUI
(M) (VC)
isPressed() display()
isSelected() listeners-
isEnable()
Mecanismo de Notificación
Listener
Listener
1. Los oyentes a un evento deben
subscribirse para ser notificados
2. Cuando el evento ocurre, un método
específico (definido para el tipo de
evento) es invocado sobre cada
oyente, por ejemplo, sobre onClick se
invoca el método actionPerformed
Rubby Casallas Copyright 2003 16
8
Ejemplo- Usando Observer/Observable
Obervable <<interface>>
notifyObservers( ) Observer
hasChanged( ) 1..* update ()
addObserver( )
1..*
ControllerToVectorAdaptor
actionPerform( )
listener
controller view
<<interface>> TextField
ActionListener
actionPerform( ) addActionListener( )
processActionEvent( ) 18
9
: SecondMVC listView : List avgView : Text model : Vector controller : Text CM : Controller
ViewOberver FieldObserver Observable Field ToVectorAdaptor
new VectorObservable()
addObserver ( avgView)
addObserver ( listView)
addActionListener (CM)
19
actionPerform ( )
addElement ( )
hasChanged ( )
notifyObservers ( )
update (model )
getData()
update ( model)
getData()
20
10