I think it's time to call out this patent nonsense. Have a look at this mess by Apple and the following people, who's names are on a patent that they all know full well is bogus:
- Richard Williamson
- Daniel Wilhite
- Jack Greenfield
- Linus Upson
Apparently, they were just granted this patent (filed in 2002) for the brilliant innovation of the proxy object. Well heck - I think there are a few instances of prior art. Just taking one I can rattle off the top of my head, let me fire up VisualWorks 2.5, released in 1995. Well - I see class LensAbsentee (actually shipped with VW 2.0, which came out in 1993, iirc). LensAbsentee is an abstract superclass (but not part of the "normal" hierarchy, as it's not descended from Object). It's purpose? Why, when you do a DB query using the Lens, you don't get full complex objects - you get - wait for it - proxies for them. When you actually try to deal with them, they fault in. Kind of like the way the patent explains it:
A method for providing stand-in objects, where relationships among objects are automatically resolved in an object oriented relational database model without the necessity of retrieving data from the database until it is needed. A "fault" class is defined, as well as fault objects whose data haven't yet been fetched from the database. An object that's created for the destination of a relationship whenever an object that includes the relationship is fetched from the database. When an object is fetched that has relationships, fault objects are created to "stand-in" for the destination objects of those relationships. Fault objects transform themselves into the actual enterprise objects—and fetch their data—the first time they're accessed. Subsequently, messages sent to the target objects are responded to by the objects themselves. This delayed resolution of relationships occurs in two stages: the creation of a placeholder object for the data to be fetched, and the fetching of that data only when it's needed. By not fetching an object until the application actually needs it, unnecessary interaction with the database server is therefore prevented.
So hey - you four "brilliant" patent holders - there's prior art staring you in the face (and I'm sure that there are older things than this - TopLink for Smalltalk predates the Lens, iirc). Do any of you have the integrity to admit it?
Update: I had pulled the patent links from this page, which apparently had them wrong. The links are fixed now, so that you can follow the absurdity in all its glory.