In the software development world, trends come and go, and often we go through the same cycle again and again. It seems 2024 is the year of “Framework vs Libraries” debate. I mean this debate is not new, but it is getting louder again. For example, most of the Go community prefers to use libraries instead of a framework. The Java community is divided into two groups, one prefers to use Spring Boot or Quarkus or Micronaut, and the other prefers to use libraries.
Continue reading »Tomato Architecture - A Pragmatic Approach to Software Design
After a couple of years into software development, I wanted to improve my skills by learning more about Software Architecture and Design. As you might guess, various sources suggested learning: Design Patterns Clean Architecture Onion Architecture Hexagonal Architecture Ports & Adapters Architecture DDD (Domain Driven Design) I have read various books and blog posts to learn these concepts, and I feel Clean/Onion/Hexagonal/Ports&Adapters Architectures are very similar with a common goal of “protecting the core domain logic” from “external dependencies”.
Continue reading »