Tomas Tulka's Blog
Random thoughts about programming and other stuff.
Interfaces are good stuff. Does that mean the more the better?
Configuration is part of the application API, so the same rules apply to it: no leak of implementation detail.
Which purpose has a Repository? To which layer does it belong to? And how to implement it correctly?
Collection, List and Set are terms very familiar to developers but hardly used by business experts. Therefore, they should not be part of the domain (API).
From time to time I attend discussions about OOP. Every time someone come up with the argument of dealing with persistence. The typical question can be reduced to should an object persist itself or rather be persisted? I believe the question is fundamentally wrong.
There are a lot of articles about the SOLID principles. But usually a different example for a particular principle is to be found. Instead, would it be nice to demonstrate all of them on a single code snippet?
Abstract classes typically offer one or more concrete methods. These must be tested as well. There are several ways how to do it, but which one to choose?
Object-oriented approach is a mighty concept making software more maintainable, which means cheaper and easier to understand. Problems come at boundaries, where objects have to be passed on into a different layer or another system. There, the objects become just data and should be treated as that.
Noone wants to write one thing twice. Reducing duplicates makes code shorter and clearer. How much this applies for test code?
I really like Test-Driven Development (TDD) and apply it almost always. The problem with TDD is that it focuses too much on working software.