Can entities have only attributes that are data values and aren’t collections? What is alternative?
You have a test coverage 90% or more but not 100%. You have tests that cover all exceptional cases. What about code that is not covered with tests?
Without tests, you can’t know how the production code works. When you write a test for the production code, you define how the production code works. Latter you can easily change the production code with refactoring or rewrite. Do test have to be written as good as the production code or better?
Entities can be changed. Why represent them as immutable objects?
When you get a new email message or a instant mobile message, do you really need to read it as soon as possible? Do you need to be notified that message has arrived?
Do you upload your thread dump on public site for analysis and you don’t want to expose your code?
What can a program code tell us about social interactions and psychology of people working on a project?
Five years ago I held the mouse with the right hand. I’m right handed. Since then I hold the mouse with the left hand. I got used to it in three weeks. Beside that:
If it can be wired with a dependency injection framework, it does not mean, that it should be.
We have an entity and a repository interface for the entity. The repository implementation has often access to external resources like databases, files, etc. When we have the repository, we also have tests for it. What if we wanted implement another repository? Can we use the same tests?