Implement cache isn&#x27;t hard conceptionally. If an object is modified, flush it from cache. If object isn&#x27;t cached, build it.<p>The problem is that implementing caching is a bit of a canary in a coal mine. If there are problems with the architecture, then trying to add caching into the mix will make things much more difficult.<p>I wouldn&#x27;t say adding cache to parts which you know will be heavily read, upfront (or at least adding hoods to make it easier to implement later) is a waste of time or &quot;Premature Optimisation&quot;. The 80-20 rule is live and well, just use your judgement.