Event Handling Design: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
| No edit summary | m moved Event Handling to Event Handling Design | ||
| (15 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
| === Classes === | === Classes === | ||
| {| | |||
| | | |||
| A Message handler has a list of subscriptions. | |||
| | | |||
| <uml> | |||
| class MsgHandler { | |||
|    +void Publish() | |||
| } | |||
| MsgHandler "1" *-- "0..N" Subscription : subscribers | |||
| Subscription "1" *-- "1" iNetSubscriber : subscriber | |||
| class MsgEntry { | |||
|    +void Reset() | |||
| } | |||
| class iNetSubscriber { | |||
|    +{abstract} bool Verify() | |||
|    +{abstract} void HandleMessage() | |||
| } | |||
| </uml> | |||
| | | |||
| Each server class inherit from the iNetSubscriber. | |||
| | | |||
| <uml> | |||
| class iNetSubscriber { | |||
|    +{abstract} bool Verify() | |||
|    +{abstract} void HandleMessage() | |||
| } | |||
| note right: Abstract base class for message recipients. | |||
| iNetSubscriber <|-- MessageManagerBase | |||
| MessageManagerBase <|-- MessageManager | |||
| MessageManager <|-- ServerClass | |||
| note "Example classes from the server" as Note1 | |||
| ServerClass .. Note1 | |||
| class MessageManagerBase { | |||
|    +bool Verify() | |||
|    +bool HandleMessage() | |||
| } | |||
| class MessageManager<SubClass> { | |||
|    +void Subscribe() | |||
|    +void Unsubscribe() | |||
| } | |||
| class ServerClass { | |||
|    +void HandleTestEvent() | |||
| } | |||
| </uml> | |||
| |} | |||
| === Sequences === | === Sequences === | ||
| Line 9: | Line 72: | ||
| <uml> | <uml> | ||
| ServerClass ->  | ServerClass -> ServerClass : Subscribe | ||
| note right : Subscribe to TestEvent | |||
| activate ServerClass | |||
| deactivate ServerClass | |||
| ServerClass -> MsgHandler : Publish | |||
| note right : Publish the TestEvent | |||
| activate ServerClass | |||
| activate MsgHandler | |||
| loop All Subscriptions | |||
| MsgHandler -> MsgEntry : Reset | |||
| activate MsgEntry | |||
| MsgEntry --> MsgHandler | |||
| deactivate MsgEntry | |||
| MsgHandler -> ServerClass : Verify | |||
| activate ServerClass | |||
| ServerClass --> MsgHandler | |||
| deactivate ServerClass | |||
| MsgHandler -> ServerClass : HandleMessage | |||
| activate ServerClass | |||
| ServerClass -> ServerClass : HandleTestEvent | |||
| activate ServerClass | |||
| ServerClass --> MsgHandler | |||
| deactivate ServerClass | |||
| deactivate ServerClass | |||
| end | |||
| MsgHandler --> ServerClass | |||
| deactivate MsgHandler | |||
| deactivate ServerClass | |||
| </uml> | </uml> | ||
Latest revision as of 17:55, 9 April 2013
Event Handling
Event handling is a speciall case of the Detailed Network Design where messages are published and received inside the server.
Classes
| A Message handler has a list of subscriptions. |  | Each server class inherit from the iNetSubscriber. |  | 
Sequences
