Why would you use design patterns?
The answer is so simple it is almost a tautology: Design patterns are used because they make your job easier.
Design patterns let you write better code more quickly.
However, patterns are not a panacea. Of the five phases
of software development, design patterns do almost nothing in the analysis, testing,
or documentation phases. Design patterns, as the name implies, have their biggest impact in the design phase of a project.
Most of the good programmers I know have a certain style that points to professional programming habits.
When you encounter good OOP programming, you will see a certain way of doing everything from naming variables to commenting code.
Variable names are clear, and comments in the code tell the story of the code so that
other programmers know how to connect to their own modules.
I have often found that putting in too many comments get in the way of clearly seeing the structure of the code.
So, with the goal of being able to see and sense objects as complete entities, the code is not fractionalized by long-winded comments.