Why should we place interfaces with classes that use them rather than those that implement them?
问题 I was going through an article by Robert C. Martin and at one place he gave a example like this: The first image shows that there's a cyclic dependency between the two packages. To remove this dependency a new interface is added in the second image. B implements the interface and Y uses it. And Martin makes the following point: Interfaces are very often included in the package that uses them, rather than in the package that implements them. My question is, why should we arrange interfaces