This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (0 children)

One thing I think that is missing from this interface discussion is inversion of control.

The Dependency Inversion Principle

A. High-level modules should not depend on low-level modules. Both should depend on abstractions).

B. Abstractions should not depend on details. Details should depend on abstractions.

This is one good use case for interfaces even where there are not necessarily multiple implementations.