In fact, it feels like objects and frameworks are like a second-hand contractor, subcontracting layer by layer. Once a problem occurs, many codes are involved. It is different from process-oriented and simple and crude. Especially in the framework, it is difficult to troubleshoot bugs.