Interface-Oriented Design - Pugh, Ken (The Pragmatic Programmers, 2006)