I think the author made a poor choice of words. The signature of a method is to a method as an interface is to a class, so client code (callers) and the method's implementation are both dependent on the signature (really, it's dependency inversion at the function level). A good design is one that takes advantage of that, buy conceptualizing the method in some way that makes the signature more stable with respect to (some set of) changes then either the client code or the underlying implementation.
↧