Friday, 20 November 2020

Software Design Patterns

What is the use of  Software Design Patterns ? And why should one consider using them during their application development ?

Software design pattern provides you a general reusable solution for the common problems which occurs in software design. The idea behind using software design pattern is to speed up development process by providing a solution which is well tested, proven development/designs, they are also widely accepted to solve software design problems OR to avoid any future software design problems which may arise late at the end of software development life cycle.
 
Types of Design Patterns in Software Engineering:
 
1. Creational Patterns
 
i. Abstract Factory
    Lets you produce similar related objects without specifying their concrete classes.
 
ii. Factory Method
   
iii. Singleton
     This pattern ensures that a class has only one instance, and the same instance is referred when required.

2. Structural Patterns
 
i. Decorator
 
ii. Adapter
 
3. Behavioural Patterns
 
i. Iterator
 
ii. Observer
 
iii. Visitor