Why? Because you are defining the implementation based on its observable behaviour rather than as a rule set to be followed.
Why? Because you are defining the implementation based on its observable behaviour rather than as a rule set to be followed.