Submitted by trekhleb t3_xvum4n in InternetIsBeautiful
RockstarArtisan t1_ir5q7om wrote
Reply to comment by Ok-Butterscotch-6829 in Interactive sketches to illustrate SOLID programming principles by trekhleb
Well, it is widely known and established, but many people disagree about being good. Some of the advice is applicable in the context of a framework, but the author insists it should be used everywhere which results in bloated designs that people hate. The popularity of this in the Java community is mostly what's responsible for all the hate Java gets online - bloat, overabstraction, complicated designs exemplified by the most SOLID frameworks of them all - Spring - with it's AbstractSingletonProxyFactoryBean https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html
Ok-Butterscotch-6829 t1_ir5rulv wrote
Good to know thanks
billwoo t1_ir6e306 wrote
Well we can ignore what the author insists on, and just use them as handy short hands for describing architecture decisions. All the principles are sound architectural advice without further context, but software design is mostly striking a balance between pragmatism and "perfect" architecture (extensibility, generality, low coupling etc.). That some Java libraries get that wrong isn't really evidence that "SOLID is a bunch of bs".
Only things that nobody uses don't get complained about.
Viewing a single comment thread. View all comments