According to the principles of object-oriented design, the most important facet of business software development is for programmers and users to collaborate fully on the creation of the project’s object model. If both sets of constituents do a good job, the common wisdom dictates, the objects encapsulate the work being performed, the people who per-form it, and the information that’s produced. Each object has all of the attributes and behavior it needs to be able to handle its responsibilities — but no more — so that its class can be changed quickly when business requirements change.
According to the principles of object-oriented design, the most important facet of business software development is for programmers and users to collaborate fully on the creation of the project’s object model. If both sets of constituents do a good job, the common wisdom dictates, the objects encapsulate the work being performed, the people who per-form it, and the information that’s produced. Each object has all of the attributes and behavior it needs to be able to handle its responsibilities — but no more — so that its class can be changed quickly when business requirements change.
This incredibly lofty development methodology, which has come to be known as agile software development, offers the promise of significant competitive advantage. And according to Java developers Richard Pawson and Robert Matthews, the best way to realize that advantage is to stop hiding business objects behind a custom graphical user interface, a view layer, or some other abstraction. Instead, they say, it’s time to get naked, time to expose business objects directly to users.
To expose those objects, the two programmers proffer Naked Objects, an LGPL Java framework that provides objects directly to users through a generic user interface made up entirely of calls to public constructors and methods of those objects, discovered via reflection. Naked Objects embodies a principle its creators call behavioral completeness, the belief that an object should completely model the behavior of the entity that it was created to represent.
The end result is Java…
Please log in to view this content.
Not Yet a Member?
Register with LinuxMagazine.com and get free access to the entire archive, including: