Martin Fowler tem alguns bons artigos sobre padrões de design baseados em tempo/versão - definitivamente vale a pena dar uma olhada: http://martinfowler.com/eaaDev/timeNarrative.html