Some pictures and notes on OOP design patterns