I enjoyed the "Why [foo] is evil" articles for provoking my thoughts, although I did not agree with every conclusion. I does seem obvious to me that one should not create get/set methods unless they are really needed, that one should expose all methods through interfaces, and that code should reside as close as possible to the data it relies upon.
However, this article seems to describe yet another futile attempt at separating GUI from the data it describes. I think the bottom line is that, in general, GUI and data _are_ closely related, even if you tend to put it in different places. In particular, I dislike the passing of numeric data as strings. Assuming that the string represents a number, as the name implies, why not use the Java language to define that as a contract?
The flexibility of creating GUIs is no better than in a getter/setter-heavy approach. The extra interface seems to be little more than a complication.
I've seen several ways to try to separate GUI (view and control) from data (model). All are clean and nice in theory but in practice there is always a lot of nasty wiring between GUI and model. This approach does not solve that problem.
|