Architecture:MediaWiki/Technical layers
This page is under construction Please help review and edit this page. |
The MediaWiki code base can be conceptually structured into the layers listed below. As per version 1.35, this layering is aspirational. That is, the layering described here does not describe current reality, but is intended as a guide for creating new code and for improving existing code.
Layers:
- installer layer
- entry point layer
- wiring layer
- maintenance layer
- user interface layer
- API layer
- behavior layer
- processing layer
- storage layer
- entity layer
- instrumentation layer
- library layer
Layers are orthogonal to domain modules: each domain module may have code in some or all of the layers. Each bit of code belongs to a layer and a domain module. For patterns, the relationship is somewhat different: while some patterns may be used in any layer, many are confined to only some layers.
Note that Extensions do not have a location in this layering. Extensions align with domains, and as such are structured orthogonal to the layers: that is, each extension is structured into the layers listed above.
See also: