Component Software – Beyond Object-Oriented Programming - Szyperski, C (Addision Wesley, 1998)