[Functional Assets Required to Make Highly Available Nontrivial Distributed Systems] 


Methodology, components & tools > Design patterns
 

Design patterns are solutions to common problems, which have been used successfully in the past and which are also general enough to be reused when similar scenarios occur. Thus, the use of patterns allows software developers not to worry about finding the same efficient solutions all over again when designing new systems. The best solution for an already-known problem is applying a pattern which is well-known for solving that problem, adapting it to the particularities of each particular case. This strategy saves not only resources and effort, but also system development costs. It also grantes legibility, a better quality and greater chances of reusability to the source code.