Stable Abstraction Principle (SAP)

Last updated Sep 15th, 2019

About this...

The more stable a component is, the more abstract it should be

If a component is really stable, it's likely it's going to be serving more purposes for more groups of people, and for different problems.

In order to prevent a component from becoming too specific or rigid, we should primarily use abstract classes.

Abstract classes work well for defining the high-level policy and leaving room for various implementations of the low-level details.