Simon,

Validation and formatting gives you more than enough reasons to write smart
getters and setters. Some ideas for you:
- If country is USA, than only one of the 52 (?) states are allowed
- If country is USA tha format phone in standard US style
- International address labels are complex. Streetnumber before or after
street, for example.
- If no postal address given, give visit address instead, and the other way
around, (the latter unless p.o. box involved)
-output the contact record in vCard 2.1 format for exchange with PDA.
- The homepage URL attribute might auto-check the url form time to time
(in a seperate thread, of course)
and so on.
- 'changed' timestamp, that is really smart and only is set if data has
really changed (and not at every Save action)

You may want to give your AddressBook class:
- a persistent 'current selection' state
- multiple level undo's (there are design patterns for that)

Let us know when the beta is out!

~henq




"Simon Vandemoortele" <deliriousREMOVEUPPERCASETEXTTOREPLY / atchoo.be> wrote
in message news:Zcdwa.1038$1u5.25 / afrodite.telenet-ops.be...

>
> The problem I see in this setup is that my 'Objects' are very passive;
> they are not much more than datastructures with an attitude. Their whole
> interface consists of setters and getters.