Naked Objects, by Richard Pawson and Robert Matthews

This book was published by Wiley in 2002. At the time of publication, it was acclaimed both for the radical ideas it conveyed and for the (full colour) design of the book. However, the book was written for Naked Objects 1.0, and so is now very out of date from a technical perspective. The authors hope to produce a new book at some future stage. Meantime, the full content of the book is made available here for historical reference purposes only. For more up-to-date information about Naked Objects please visit the www.nakedobjects.org

Introduction

Acknowledgements

Version information

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

The DSFA's Business Object Model

Introducing naked objects

The Naked Objects framework

The benefits of naked objects

Frequently Asked Questions

Case study: Travel bookings

User and developer views of the system

Programming with Naked Objects

The anatomy of a naked object

Naked object classes

Fields

Behaviours

Making the objects available to the user

Incorporating naked objects into a simple test application

Creating a standalone executable demo

Building a multi-user system

Making naked objects persistent

Sharing Naked Objects between multiple users

Maintaining transactional integrity

Providing security and authorisation

Running a multi-user system

Enriching object behaviours

Accessing fields safely

Manipulating value objects

Manipulating collections

Creating persistent objects

Initializing persistent objects

Building a title from multiple fields

Specifying About objects to control access

Writing tests

Simulations using mock views

Unit tests

Acceptance tests

Case study: Retail marketing and pricing

A development process

The exploration phase

The specification phase

The delivery phase

Case study: Arrears and collections

Extending Naked Objects

Additional documentation available on our website.

Some ways in which Naked Objects could be extended

Will naked object systems scale?

Case study: Energy Trading

Appendix A: Getting started

Requirements

Writing an Application

The Complete Code

Running an application

Appendix B: Code example

Appendix C: Cliche code

Appendix D: Icon library

Bibliography