In the early days of OO it was believed that all objects in an OO program should be derived from ObjectsFromTheUsersWorld.
And then we discovered that we were helping users create a new world.
And then we found we had to fix the broken world we created last time round.
How does this relate to ChristopherAlexander's pattern ThingsFromYourLife??
Actually, I think this belief was promulgated mainly by a subset of methodologists who didn't happen to think about all the classes involved in window system interaction, file system interaction, database interaction, etc. - not to mention the more modern issues of network interaction, distributed object middleware interaction, and whatnot. BusinessObject classes are still very important and valuable (and in fact still under-emphasized), IMHO, but percentage-wise they form only a minority of the classes in an application. GemStone's AdvancedApplicationArchitectureTeam made a presentation on exactly this topic - see http://www.gemstone.com/news_events/online_seminar.html. -- RandyStafford