PhoneBook.Domain -- learn to declare domain object classes
There is one file for each domain object class:
Location.cs
Person.cs
PhoneNumber.cs
What's more, we have Country.cs
is with enums for countries used by the Location
class.
The role of the following files is not explained in this walk-through, this sample code is related to re-store's Query manager, which has become an
arcane topic since the introduction of re-linq:
queries.xml
QueryManLocation.cs
QueryManPerson.cs
The role of the Globalization
folder is explained on page FIXME.
Note that each domain class is derived from BindableDomainObject
. In the PhoneBook tutorial, the domain classes are derived from DomainObject
at first, but later this is amended to BindableDomainObject
. The reason is this. The DomainObject
class implements all of re-store's piping for persistence, relation automation, etc. BindableDomainObject
-s can do all that, but also know how to talk to the GUI in a re-motion web application. The difference between DomainObject
and BindableDomainObject
is explained here: bindable domain object. For the next few sections you won't need this digression, however. Just remember that DomainObject
embodies all the nice re-store features we are about to discuss.