LCD (Least common denominator) Abstraction!

Mohammed Hewedy
1 min readApr 28, 2023
Photo by Steve Johnson on Unsplash

In the Software world, there’s a term to describe the abstractions that leak the details of the abstracted things, and this term is called Leakey Abstraction

But I don’t know why there’s no coined term for another common case when It comes to abstractions… Abstractions try to abstract multiple components and hide some powerful staff from such components.

LCD Abstractions or (Least common denominator Abstractions) are very common in the software world. it happens when some system tries to provide one abstraction on components that has different capabilities, and in such case will miss most of the powerful features of such underlying components.

Imagine you want to build a PubSub Abstraction on top of Redis, RabbitMQ, and SQS. In which the client will never know which underlying messaging system he is actually calling. In such cases, many powerful features from systems like RabbitMQ will not be available.

And the Abstraction will have to offer its clients the “Least Common Denominator” features available among all the underlying systems.

--

--