We will now apply our knowledge of interfaces to a little restructuring of the Acme case study. A major benefit of using interfaces is that they raise the level of abstraction somewhat, helping you to understand the system by way of the interface contracts, without worrying about how the system is implemented.
As usual, our case study code is in the CaseStudy directory for this chapter.
There are two main sets of contracts in the Acme Travel Agency Case Study. The first specifies operations on customers, and the second, operations involving hotels.
The ICustomer interface shown ...