Interface-Oriented Design by Kenneth Pugh & Ken Pugh