Java, Architecture, Clean Code, Solid, Programming.
Robert Martin (Uncle Bob) in 1995. Their idea is to avoid dependencies between code components. If there are a large number of dependencies, such code is difficult to maintain (spaghetti code). Its main problems are: Rigidity: each change causes many other changes Fragility: changes in one part