In the second part of my design patterns articles series, we are going to learn about the classification of design patterns according to the nature of the design problem they solve. In the previous articles, we already discussed the basics about GOF design patterns. If you want to read the previous article of this series, check this link.
In this series, we will also discuss Presentation Tier Patterns, Business, and Integration Tier Patterns.
Types of Design Patterns
- GOF Patterns
- Presentation Tier Patterns
- Business Tier Patterns
- Integration Tier Patterns
Presentation Tier Patterns: Presentation Tier contains all the presentation tier logic to provide services to clients who access the software.
Type of Presentation Tier Patterns
- Intercepting Filter
- Front Controller
- Application Controller
- Composite View
- Context Object
Business Tier Patterns: Business Tier provides business services required by the clients
Type of Business Tiers
- Session Facade
- Transfer Object
- Application Service
- Business Object
- Service Locator
Integration Tier Patterns: Integration Tier provides context for communicating with external resources and systems like database etc.
Type of Integration Tier
- Data Access Object
- Service Activator
- Web service Broker
What is GOF?
Gang of Four is not a design pattern, it is the newsy name for the book "Design Patterns: Elements of Reusable Object-Oriented Software" written by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (thus called Gang of Four).
Creational design patterns are all about classes and objects. These patterns are also divided into class creation patterns and object creation patterns.
- Abstract Factory: Abstract Factory can be used as a super factory, by using abstract factory design pattern we abstract the creation of another class.
- Builder: It separates object creation from its representation.
- Factory Method: Factory Method creates an instance of many derived classes.
- Singleton: The singleton pattern is one of the most popular and used patterns in Software Development. Singleton pattern describes a class that has only a single instance and provides a global access point for this.
The singleton pattern is one of the most popular and used patterns in Software Development. The Singleton design pattern is a part of the creational design pattern. Creational design patterns are all about classes and object creation. If you use singleton in your application, it allows creating only a single instance of this class. We use a class as singleton when we want global access point of that instance.
UML Diagram of Singleton

Gaurav GahlotPosted Aug 8, 2018, 11:04 PM
Your singleton is not a true singleton since it is not thread safe. I would suggest you consider currency and multi-threading, and accordingly update your article. This is would make it satisfying for larger audience.
Manav PandyaPosted Aug 8, 2018, 11:33 AM
Can you provide any real life example related to this.