OO Design problem and design pattern
Design patterns
Code example of all 8 kind of structural design pattern