Anti-patterns: Cache Cows

Omschrijving
Een stuk software is ontwikkeld met een heel duidelijk uitgangspunt: database interactie is langzaam, dus we cachen zoveel mogelijk. De optimalisatie gaat zelfs zo ver dat er diverse pointerstructuren en anderszins curieuze implementaties van collecties gemaakt zijn om maar zo snel mogelijk gegevens te kunnen oplepelen. Helaas is het wel zo dat de software nu toch wel eens gemigreerd moet worden naar die nieuwe versie van het ontwikkelplatform, of nog liever: laten we de decenniumswitch volgend jaar maar eens plannen.

Symptomen
Pointerstructuren, extreme optimalisaties op de millimeter. Extreem low-level programmeerwerk.

Oplossingen

  • De interface van de cachestructuren behouden en implementeren met bewezen framework(s)
  • Gebruik van caching volledig uitfaseren en overlaten aan de database. Quering doet geen pijn. Echt niet.