Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
There exist trivial implementations of LRU caches which can be composed of a pair of standard maps, or a boost bi-map, which would be a more suitable replacement for our existing implementation. What we have makes no distinction between conceptual components - the map relies on the implementation details of its data type, which in turn relies on the implementation details of the map, and both share a dependency on the element expiration mechanism. Business logic is unnecessarily and tightly coupled to the implementation details of the map and has made the thing unmaintainable.
We need a more generic, loosely coupled, maintainable solution, where business logic is separate from the concept of a container.