Pattern Language Description
Pattern Language is the language that defines the MVC (Model-View-Controller) systems in terms of Patterns.
Pattern Language describes a system by means of the following entities:
- Pattern
- Event
- Request
- Implementation
1. Patterns
The Patterns are concepts of the system with well defined semantics and behaviour.
The Pattern may represents some kind of information or it may be a source of specific information.
The Pattern may have the following types of functionality (in any combinations):
- It may fire a number of events depending on the current situation (possibly after some user activity)
- It may listen to a number of events if it is interested in the specific situations.
- It may request some kinds of information.
- It may response to specific requests.
2. Events
The Event is an information carrier which is used to notify interested parties about some event occuring.
The system is based on the Event Propagation mechanism. That is any event fired by a Pattern carries the instance of the last event received by this Pattern.
The Event carries any kind of information describing the activity which caused this event.
3. Requests
Requests are queries for an information from a Pattern to some other Pattern (unknown to a requester).
There is a guarantee that Request is processed immediately so the system is consistent in any moment, that is request is an atomic operation.
The Request has a number of input values and an output value. The input is set by a requester pattern, the output is set by a responser pattern.
The runtime environment checks on application startup that there is exactly one responser for every Request.
4. Implementation
For each Pattern there is an Implementation. It may describe any number of properties of that Pattern. The Property has
type, property editor, display name and a description.