<i>An interface is the intersection between the system and the environment.</i><p><i>An implementation is the system minus the interface</i><p>These definitions seem at odds with each other.  The first sentence would imply that the interface is part of the implementation, but the second says that the implementation and the interface are exclusive.  What do you feel you gain by defining things in this way, as opposed to saying something like &quot;the interface is the portion of the implementation with which the system interacts&quot;?