https://blog.csdn.net/dragon_fire/article/details/8636122
https://blog.csdn.net/lk1822791193/article/details/79480803
The single responsibility principle tells us to implement a single responsibility for the class;
the Richter substitution principle tells us not to destroy the inheritance system; the
dependency inversion principle tells us to interface-oriented programming; the
interface isolation principle tells us to be simple and simple when designing interfaces;
Dimit The law tells us to reduce coupling.
The principle of opening and closing is the general outline. He told us to be open to expansion and closed to modification.