


Knowing only the names of common patterns used in your domain can provide you with the vocabulary necessary to participate more fully in discussions of software design and architecture. Each one represents a particular tool or skill that can be added to one's capabilities as a software developer.

I've been meaning to write about this topic for over a year now but better late than never, I guess! I've always been fond of design patterns. Learn the basics of design patterns, how to recognize and implement them, how to combine them, and how to learn them. Design patterns provide reusable approaches to common problems and allow for higher level discussions of software design.
