The idea here is to find a common structure that solves a particular problem. Design patterns are not as complex as architecture patterns and tend to be problem-domain independent. For example, capturing a set of interface patterns that maps to many system types. Thus, an idiom describes how to code the object at a low level. Pattern descriptions should provide specifications for deploying the pattern.
Patterns provide object-oriented analysts with a methodology for solving recurring problems.
Well, there are many benefits in using patterns for application architecture, such as the ability to solve recurring design problems that typically arise in application architecture and construction. The data migration example I gave earlier, for instance, creates a reusable solution set that application architects can apply to multiple applications. We already do this to a certain degree, but we have a tendency to keep the information in our heads, where it's either forgotten or you're just not around to share the information with those who need it when the problem arises once again. Patterns do a good job of recording design experience across a development group. Typically, such knowledge is found in the minds of the experts that may be on the team.