and more resources on (www.oodesign.com). Make sure you read the design principles, it's very usefull for understanding the desing patterns:

OO Design Principles:
<a...