Sometimes one design pattern is enough to capture the experience related to one particular topic.
And sometimes, multiple patterns inter-relate to define various aspects of the problem domain. The sum of those interconnected patterns is named a pattern language. And this is exactly the title of Christopher Alexander’s book, the one who in 1977 introduced the idea of patterns to the world.
Dynamics NAV introduced events, and they proved extremely useful from the start. So we started building solutions with them, and suddenly the team got a whole list of potential design patterns, which become possible by using the events. So we have got our own pattern language, centered on the Dynamics NAV eventing framework – at the time this is published, it contains 3 patterns already.
Discovery Event Pattern
The “Discovery Event” pattern is a way for a generic functionality, to call out to other functionalities that want to make use of it, by raising an event, so that they have an event to subscribe to. This is usually done to set itself up within the generic app.