User:ATDT/Architecture

System metaphor
A system metaphor is a simple, shared story of how a system works. In a well-architected system, the design of each individual component reflects the system metaphor. Systems which exhibit this property are coherent. Coherent systems are adaptable and durable. Developers can use the system metaphor as a criterion for selecting or rejecting possibilities, which allows them to grow and evolve the system without accruing complexity.

Wiki
The system metaphor for MediaWiki is wiki. A wiki is protocol for sharing a collection of objects. The distinguishing property of this protocol is that change is nondestructive (copy-on-write) and reversible. By making change nondestructive, wikis support a collaboration model that gives participants both read and write privileges by default.

Not wiki

 * Wiki is not Wikitext. (Wiki can use Markdown.)
 * Wiki is not text. (Wiki objects can be photos, videos, data.)
 * Wiki is not content. (A protocol for sharing objects is not the objects themselves.)
 * Wiki is not form. (There is no canonical view of objects; the presentation of objects is up to the client context.)

MediaWiki
...

First stage: facade API
Developers who have spent time developing applications MediaWiki's current API is plagued by inconsistent and unintuitive design and by crusty and complicated calling conventions. that make uneven documentation,