Dave Thomas, co–author, The Agile Manifesto and The Pragmatic Programmer
"I believe that this could be a landmark book. Naked Objects may well herald the next major evolution in the way systems are presented to end users, and how they′re developed. Naked Objects adds near–instant prototyping to the business modeller′s toolbox."
Oliver Sims, co–author, Business Component Factory
"A well–written description of a radical new approach to OO programming."
James W Cooper, IBM T J Watson Research Center
"Naked Objects is a bold approach. If you want to push the envelope and let end–users access their business objects without cluttered interfaces, read this book."
Rebecca Wirfs–Brock, co–author, Object Design
An object should completely model the behaviour of that which it represents. This principle of ′behaviourally complete′ objects is the driving force behind this book.
Naked Objects is a Java–based open source framework that exposes behaviourally complete business objects such as Customer, Product and Order, directly to the user – without the need for scripts, controllers or even dialog boxes in between. The resulting systems are empowering for the user and immensely agile. With Naked Objects the user presentation is generated automatically from the business object definitions, so you need never write another line of code for a user interface again!
This book, written for business object modellers and Java developers, includes:
an introduction to designing systems from naked objects
a tutorial on programming with the Naked Objects framework
a lightweight methodology
case studies on business applications
1. A critical look at object–orientation.
A brief history of objects.
Five practices that separate procedure and data.
Defining a new approach.
Case study: Government benefits processing.
2. Introducing ′naked objects′.
The Naked Objects framework.
The benefits of naked objects.
Frequently Asked Questions.
3. Programming with Naked Objects.
The anatomy of a naked object.
Making the objects available to the user.
Building a multi–user system.
Enriching object behaviours.
Case study: Retail marketing and pricing.
4. A development process.
The exploration phase.
The specification phase.
The delivery phase.
Case study: Arrears and collections.
5. Extending Naked Objects.
Additional documentation available on our website.
Some ways in which Naked Objects could be extended.
Will naked o bject systems scale?
Case study: Energy trading.
Appendix A: Getting started.
Appendix B: Code example.
Apendix C: Cliché code.
Appendix D: Icon library.