I was intrigued reading an article by Michael Feathers recently. Although the main topic of conversation was flawed thinking in the TDD world, I was struck by the point about writing OO code with no getters. This sounded like an interesting idea to me, as I have long since thought that setters and getters are very much an OO anti-pattern, exposing the details of an object unnecessarily much of the time.
Many blogs are covering the subject right now, and I am still reading through them and trying to remain open minded. Here are a few examples -
Martin Fowler has a slightly different perspective -