User:Jeroen De Dauw/Libs that abstract away from core design problems

This list just contains the components I am aware of to be directly useful for abstracting away from core problems. It is therefore heavily biased towards things written by me. There are however many great libraries out there that can be used for similar purposes.


 * Wikibase Database - database interaction, including schema modification
 * SimpleCache - a simple caching interface
 * FileFetcher - a simple file fetching interface
 * i18n - turning message keys into actual messages

All these components provide an adapter or set of adapters that execute calls to the properly designed interfaces they provide to MediaWiki core code. Usage of these interfaces allows, amongst other things, to drastically decrease binding to other code. You can go as far as not having your code depend on MediaWiki at all (as you probably should for most of your code).