Design patterns introduction

link