lecture notes for coupling cohesion and adapter pattern