Architecture:MediaWiki/Domain modules

The MediaWiki code base can be conceptually structured into domain modules listed below. As per version 1.35, the domain structure is preliminary, and domain boundaries are aspirational. That is, the domains described here are derived from pre-existing code, but do not represent existing boundaries. They are intended as a guide for creating new code and for improving existing code, and are expected to evolve over time.

Domain modules, in no specific order:

Domain modules are orthogonal to technical layers: 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. Similarly, any pattern can be used in any domain.

Note that Manual:Extensions may fit into one of the domains above, or to a domain not present in MediaWiki core, or define a domain of their own.