Difference between revisions of "Event Handling Design"
Jump to navigation
Jump to search
m (moved Event Handling to Event Handling Design) |
|||
(13 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
=== Classes === | === Classes === | ||
{| | |||
| | |||
A Message handler has a list of subscriptions. | |||
| | |||
<uml> | <uml> | ||
Line 16: | Line 21: | ||
class MsgEntry { | class MsgEntry { | ||
+void | +void Reset() | ||
} | |||
class iNetSubscriber { | |||
+{abstract} bool Verify() | |||
+{abstract} void HandleMessage() | |||
} | } | ||
</uml> | |||
| | |||
Each server class inherit from the iNetSubscriber. | |||
| | |||
<uml> | |||
class iNetSubscriber { | class iNetSubscriber { | ||
+ Verify() | +{abstract} bool Verify() | ||
+ HandleMessage() | +{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> | </uml> | ||
|} | |||
=== Sequences === | === Sequences === | ||
Line 30: | Line 72: | ||
<uml> | <uml> | ||
ServerClass -> ServerClass : Subscribe | |||
note right : Subscribe to TestEvent | |||
activate ServerClass | |||
deactivate ServerClass | |||
ServerClass -> MsgHandler : Publish | ServerClass -> MsgHandler : Publish | ||
MsgHandler -> | note right : Publish the TestEvent | ||
MsgHandler -> | 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 18: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