There was a time (not so long ago) when we designed everything before we wrote any code. We gathered the requirements of our application and wrote the requirement specification. We took these requirements and designed an architecture that helped us to fulfill them. We wrote an architecture design document as a guide that we followed […] Read more
Design
Every developer must understand two things: Architecture design is necessary. Fancy architecture diagrams don’t describe the real architecture of an application. The real architecture is found from the code that is written by developers, and if we don’t design the architecture of our application, we will end up with an application that has more than […] Read more
Recently I read a book titled Domain-Driven Design by Eric Evans. This wasn’t the first time I read this book but this time I realized that I had been totally wrong about domain-driven design. I thought that the domain model consists of entities and value objects. In fact, I was obsessed with moving the domain […] Read more
I didn’t understand the service-oriented architecture. I thought that it was just one of those highly theoretical and very impractical software architecture patterns. In other words, I considered it to be an architecture fanatics’ wet dream. Then I read an article titled Microservices by Martin Fowler, and the service-oriented architecture started suddenly make sense to […] Read more
There are three ways to create new objects in Java programming language: The telescoping constructor (anti)pattern The Javabeans pattern The builder pattern I prefer the builder pattern over the other two methods. Why? Joshua Bloch described the builder pattern and the benefits of using it in Effective Java. He did an excellent job and I […] Read more
I used to be a huge fan of field injection. But one day I started to question myself. Could it be possible that I have been mistaken? Let's find out what happened. Can It Be Too Simple? I was, of course, aware of the fact that field injection versus constructor injection versus setter injection is […] Read more