Domain-Driven Design
> >
KnowledgeLevel

Excerpted from DomainDrivenDesignBook

Definition: A Knowledge Level is a group of objects that describes how another group of objects should behave (Martin Fowler, "Accountability")

Problem: In an application in which the roles and relationships between Entities vary in different situations, complexity can explode. Neither fully general models nor highly customized ones serve the users' needs. Objects end up with references to other types to cover a variety of cases, or with attributes that are used in different ways in different situations. Classes that have the same data and behavior may multiply just to accommodate different assembly rules.

Solution: Create a distinct set of objects that can be used to describe and constrain the structure and behavior of the basic model. Keep these concerns separate as two "levels," one very concrete, the other reflecting rules and knowledge that a user or superuser is able to customize.


KnowledgeLevel is mentioned on: KnowledgeLevelAkaReflection | MessagesByTopic



VeryQuickWiki Version 2.6.3 - HTML Export