Split Capabilities: Making Capabilities Scale
Bill Frantz
frantz@communities.com
Tue, 15 Aug 2000 19:31:25 -0700
At 09:24 AM 8/9/00 -0700, Mark S. Miller wrote:
>Much of the point of a contract is to avoid stating what your clients aren't
>supposed to count on. The provider may then make future changes that
>continue to satisfy his stated contract, and hope not to break too many of
>his clients.
The best contracts are explicit about what the client can't count on. For
example, even if the directory lists always come out in sort order, if the
designer wishes the flexibility to change that order, the contract should
be written to specify that the order is not guaranteed. Having to get that
information implicitly leads to getting the information by experiment with
an actual instance of a server implementing the contract.