Learning design patterns.