|
|
|
|
|
|
|
|
|
|
|
|
|
• |
The
semantics of the module must remain
|
|
|
unchanged
when implementations are
|
|
|
replaced
|
|
|
|
– |
Specifically,
the client should not care how the
|
|
interface
is implemented by the module
|
|
|
• |
But
what captures the semantics of the
|
|
|
module?
|
|
|
|
– |
The
signature of the interface?
Performance?
|
|
|
What
else?
|
|