The JBehave/Mock Roles processes use Interfaces as part of the design strategy.
1. Specify the next behaviour that a class should have.
e.g. The delivery van object shouldDeliverToMoreThanOneDestination.
2. Specify the interfaces that the object should talk to using Mock Objects.
3. Code the class.
4. Repeat 1-3 until all the behaviour that the object should have is specified.
5. Move onto the next object that implements one of the interfaces.
This is very different to the up front analysis and design that I have seen before. In up front analysis and design, you identify the objects and their relationships. You then specify the interface based on the object implementation rather than the other way round.

P.S. I'm well out of my depth here.
Posted by chrismatts at December 6, 2004 5:10 PM