Solid Principles, Python.
forces a phone without a touch screen to deal with touch functionality. That interface is not coherent. This is a violation of the interface segregation principle. The solution is to break up the interface by its roles. Here is the old interface called Phone. I’m going to split it in two