Design Patterns : The Ultimate Blueprint for Software-I
What is Design Patterns?
Object Oriented Programming is one of the biggest evolution ever happened to the software industry. Lots of languages started implementing OOP concepts thinking it would add lot of value and will improve the adaptability of the languages. While the OOP provides the concepts, programming languages still lack the essence that is needed for better software design. Design patterns fill the gap by providing solution templates for commonly occurring design problems. As any other software entity, Design Patterns is an evolving subject and it has reached its extreme maturity now by covering most of the design problems that the current software industry is facing. Practicing design patterns has helped the success ratio of software projects these days immensely. Design patterns have become a magic wand in the hands of successful software programmers and architects.
Why Design Patterns?
Any form of software architecture, design patterns comes into picture when dealing with basics such as data structures, algorithms, tool and lang details. Then the programmer would focus on leaning modules, interfaces and object oriented programming. Design patterns are the next level of abstraction. It helps one to design new systems using higher-level abstractions than variables, procedures, and classes. It helps understand relative tradeoffs, appropriateness and many other uses.