Naked Objects
there was a link to this [link|http://www.nakedobjects.org/|site] from [link|http://www.theserverside.com/articles/article.jsp?l=NakedObjectSeries_1|The ServerSide.com]. It really struck a chord with me. Basically, they claim that objects should be behaviorally complete meaning that any functionality required of a customer for example, (such as the ability to communicate with that customer, to authenticate the customer when they call, or evaluate their credit risk) must be implemented as methods on the Customer object. I started with Smalltalk and this should strike a chord with every Smalltalker. What bothered me about J2EE (and still bothers me) is the separation of objects so that you have session beans which are verbs and entity beans which are nouns. In fact, all the current frameworks in vogue do this, there is a seprate controller layer which has significant business logic in addition to the domain objects. What happens is that the domain objects become little more then glorified structs to hold data.