- Trending Categories
- Data Structure
- Operating System
- C Programming
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time.
Design patterns are language agnostic. Design patterns can be classified in three categories: Creational, Structural and Behavioral patterns.
Creational Patterns − These design patterns provide a way to create objects while hiding the creation logic, rather than instantiating objects directly using new opreator. This gives program more flexibility in deciding which objects need to be created for a given use case. Example patterns: Factory, Builder, Singleton, etc.
Structural Patterns − These design patterns concern class and object composition. Concept of inheritance is used to compose interfaces and define ways to compose objects to obtain new functionalities. Example patterns: Adapter, decorator, facade, etc.
Behavioral Patterns − These design patterns are specifically concerned with communication between objects. Example patterns: Observer, Iterator, Strategy, etc.
- Design a Moore machine for some binary input sequence.
- Regular Expression Patterns in Python
- Android Unlock Patterns in C++
- Last occurrence of some element in a list in Python
- Set Date patterns with SimpleDateFormat in Java
- Programs for printing pyramid patterns in Python
- Differentiate between Interface design and Interaction design
- What is Design of Lexical Analysis in Compiler Design?