SlideShare a Scribd company logo
Design pattern
Overview, GOF
Overview
• Design patterns are reusable solutions to common problems that arise during
software design and development. They provide a way to structure your code
in a flexible and maintainable manner, often resulting in more efficient and
scalable software.
Introduction to GOF
• What are Gang of Four (GOF) Design Patterns?
• The Gang of Four Design Patterns is a set of solutions to common problems
we encounter in software design and development. They were first introduced
in the book Design Patterns: Elements of Reusable Object-Oriented
Software, published in 1994. The book was written by Erich Gamma,
Richard Helm, Ralph Johnson, and John Vlissides, who are collectively
known as Gang of Four.
Introduction to GOF
• Why they’re called Gang of Four?
The Gang of Four are four smart people who wrote a book about clever ways to solve
common problems in computer programming, and they’re called the Gang of
Four because there were four of them who wrote the book together. Their book has
been a big help to many programmers around the world.
These patterns categorize into three main groups:
• Creational Patterns
• Structural Patterns
• Behavioral Patterns
Design pattern of software words computer .pptx
Types
1. Creational Patterns:
• Singleton Pattern: Ensures that a class has only one instance and provides a
global point of access to it.
• Factory Method Pattern: Defines an interface for creating objects, but
allows subclasses to alter the type of objects that will be created.
• Abstract Factory Pattern: Provides an interface for creating families of
related or dependent objects without specifying their concrete classes.
• Builder Pattern: Separates the construction of a complex object from its
representation, allowing the same construction process to create different
representations.
Types
2. Structural Patterns:
• Adapter Pattern: Allows incompatible interfaces to work together by
wrapping an interface around an existing class.
• Decorator Pattern: Adds new functionality to an object dynamically
without altering its structure.
• Facade Pattern: Provides a unified interface to a set of interfaces in a
subsystem, simplifying the usage of complex systems.
• Composite Pattern: Composes objects into tree structures to represent part-
whole hierarchies.
Types
3. Behavioral Patterns:
• Observer Pattern: Defines a one-to-many dependency between objects so that
when one object changes state, all its dependents are notified and updated
automatically.
• Strategy Pattern: Defines a family of algorithms, encapsulates each one, and
makes them interchangeable. Strategy lets the algorithm vary independently from
clients that use it.
• Chain of Responsibility Pattern: Passes requests along a chain of handlers.
Upon receiving a request, each handler decides either to process the request or to
pass it to the next handler in the chain.
Types
• Command Pattern: Encapsulates a request as an object, thereby allowing
for parameterization of clients with queues, requests, and operations.
• Iterator Pattern: Provides a way to access the elements of an aggregate
object sequentially without exposing its underlying representation.
4. Architectural Patterns:
• Model-View-Controller (MVC): Separates an application into three main
components: Model (data and business logic), View (user interface), and
Controller (handles user input).
Types
• Model-View-ViewModel (MVVM): Similar to MVC but specifically
designed for modern UI development, where the ViewModel exposes data
and commands from the Model to the View.
• Layered Architecture: Divides an application into layers (e.g., presentation,
business logic, data access) where each layer has a specific responsibility
and interacts with adjacent layers.
• These patterns can greatly improve the structure, flexibility, and scalability
of your software, but it's important to use them judiciously, as overusing
patterns can lead to unnecessary complexity.

More Related Content

PPTX
Design patterns software re engineering lect 10
PPTX
Patterns
PPTX
Design patterns
PPT
Design pattern in android
PPTX
design pattern is the computer scicence subject
PPTX
Design Patterns - General Introduction
PPTX
Module_5_Class-Responsibility-Collaborator (CRC) Modeling.pptx
PPT
Chapter 4_Introduction to Patterns.ppt
Design patterns software re engineering lect 10
Patterns
Design patterns
Design pattern in android
design pattern is the computer scicence subject
Design Patterns - General Introduction
Module_5_Class-Responsibility-Collaborator (CRC) Modeling.pptx
Chapter 4_Introduction to Patterns.ppt

Similar to Design pattern of software words computer .pptx (20)

PPT
Chapter 4_Introduction to Patterns.ppt
PPTX
JS Design patterns in Web technologies including oop techniques.pptx
PDF
Cse 6007 fall2012
PPTX
Design pattern and their application
PPT
Software Design Patterns
PPT
Software Design Patterns
PPTX
Design Pattern - Introduction
PDF
PPT
oomd-unit-i-cgpa.ppt
PPTX
Creational Design Patterns.pptx
PPTX
System design process.pptx
PPTX
Design patterns Structural
PPTX
Designpattern
PPTX
OOPSDesign PPT ( introduction to opps and design (
PPTX
UNIT IV DESIGN PATTERNS.pptx
PPTX
Architectural Design & Patterns
PPTX
Oops design pattern_amitgupta
PDF
dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...
PPTX
Let us understand design pattern
Chapter 4_Introduction to Patterns.ppt
JS Design patterns in Web technologies including oop techniques.pptx
Cse 6007 fall2012
Design pattern and their application
Software Design Patterns
Software Design Patterns
Design Pattern - Introduction
oomd-unit-i-cgpa.ppt
Creational Design Patterns.pptx
System design process.pptx
Design patterns Structural
Designpattern
OOPSDesign PPT ( introduction to opps and design (
UNIT IV DESIGN PATTERNS.pptx
Architectural Design & Patterns
Oops design pattern_amitgupta
dotnet stuff.com tutorials-design-patterns_exploring-net-design-patterns-in-s...
Let us understand design pattern
Ad

Recently uploaded (20)

PPT
Fire_electrical_safety community 08.ppt
PDF
Architecture Design Portfolio- VICTOR OKUTU
PPT
aksharma-dfs.pptgfgfgdfgdgdfgdfgdgdrgdgdgdgdgdgadgdgd
PDF
GSH-Vicky1-Complete-Plans on Housing.pdf
PPTX
Necrosgwjskdnbsjdmdndmkdndndnmdndndkdmdndkdkndmdmis.pptx
PPTX
a group casestudy on architectural aesthetic and beauty
PDF
How Animation is Used by Sports Teams and Leagues
PDF
Govind singh Corporate office interior Portfolio
PDF
2025_AIFG_Akane_Kikuchi_Empathy_Design.PDF
PPTX
CLASS_11_BUSINESS_STUDIES_PPT_CHAPTER_1_Business_Trade_Commerce.pptx
PDF
SOUND-NOTE-ARCHITECT-MOHIUDDIN AKHAND SMUCT
PDF
intro_to_rust.pptx_123456789012446789.pdf
PDF
321 LIBRARY DESIGN.pdf43354445t6556t5656
PPTX
PROPOSAL tentang PLN di metode pelaksanaan.pptx
PDF
The Basics of Presentation Design eBook by VerdanaBold
PPTX
LITERATURE CASE STUDY DESIGN SEMESTER 5.pptx
PPTX
timber basics in structure mechanics (dos)
PDF
analisis snsistem etnga ahrfahfffffffffffffffffffff
PPTX
Introduction to Building Information Modeling
PPT
EthicsNotesSTUDENTCOPYfghhnmncssssx sjsjsj
Fire_electrical_safety community 08.ppt
Architecture Design Portfolio- VICTOR OKUTU
aksharma-dfs.pptgfgfgdfgdgdfgdfgdgdrgdgdgdgdgdgadgdgd
GSH-Vicky1-Complete-Plans on Housing.pdf
Necrosgwjskdnbsjdmdndmkdndndnmdndndkdmdndkdkndmdmis.pptx
a group casestudy on architectural aesthetic and beauty
How Animation is Used by Sports Teams and Leagues
Govind singh Corporate office interior Portfolio
2025_AIFG_Akane_Kikuchi_Empathy_Design.PDF
CLASS_11_BUSINESS_STUDIES_PPT_CHAPTER_1_Business_Trade_Commerce.pptx
SOUND-NOTE-ARCHITECT-MOHIUDDIN AKHAND SMUCT
intro_to_rust.pptx_123456789012446789.pdf
321 LIBRARY DESIGN.pdf43354445t6556t5656
PROPOSAL tentang PLN di metode pelaksanaan.pptx
The Basics of Presentation Design eBook by VerdanaBold
LITERATURE CASE STUDY DESIGN SEMESTER 5.pptx
timber basics in structure mechanics (dos)
analisis snsistem etnga ahrfahfffffffffffffffffffff
Introduction to Building Information Modeling
EthicsNotesSTUDENTCOPYfghhnmncssssx sjsjsj
Ad

Design pattern of software words computer .pptx

  • 2. Overview • Design patterns are reusable solutions to common problems that arise during software design and development. They provide a way to structure your code in a flexible and maintainable manner, often resulting in more efficient and scalable software.
  • 3. Introduction to GOF • What are Gang of Four (GOF) Design Patterns? • The Gang of Four Design Patterns is a set of solutions to common problems we encounter in software design and development. They were first introduced in the book Design Patterns: Elements of Reusable Object-Oriented Software, published in 1994. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, who are collectively known as Gang of Four.
  • 4. Introduction to GOF • Why they’re called Gang of Four? The Gang of Four are four smart people who wrote a book about clever ways to solve common problems in computer programming, and they’re called the Gang of Four because there were four of them who wrote the book together. Their book has been a big help to many programmers around the world. These patterns categorize into three main groups: • Creational Patterns • Structural Patterns • Behavioral Patterns
  • 6. Types 1. Creational Patterns: • Singleton Pattern: Ensures that a class has only one instance and provides a global point of access to it. • Factory Method Pattern: Defines an interface for creating objects, but allows subclasses to alter the type of objects that will be created. • Abstract Factory Pattern: Provides an interface for creating families of related or dependent objects without specifying their concrete classes. • Builder Pattern: Separates the construction of a complex object from its representation, allowing the same construction process to create different representations.
  • 7. Types 2. Structural Patterns: • Adapter Pattern: Allows incompatible interfaces to work together by wrapping an interface around an existing class. • Decorator Pattern: Adds new functionality to an object dynamically without altering its structure. • Facade Pattern: Provides a unified interface to a set of interfaces in a subsystem, simplifying the usage of complex systems. • Composite Pattern: Composes objects into tree structures to represent part- whole hierarchies.
  • 8. Types 3. Behavioral Patterns: • Observer Pattern: Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. • Strategy Pattern: Defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. • Chain of Responsibility Pattern: Passes requests along a chain of handlers. Upon receiving a request, each handler decides either to process the request or to pass it to the next handler in the chain.
  • 9. Types • Command Pattern: Encapsulates a request as an object, thereby allowing for parameterization of clients with queues, requests, and operations. • Iterator Pattern: Provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation. 4. Architectural Patterns: • Model-View-Controller (MVC): Separates an application into three main components: Model (data and business logic), View (user interface), and Controller (handles user input).
  • 10. Types • Model-View-ViewModel (MVVM): Similar to MVC but specifically designed for modern UI development, where the ViewModel exposes data and commands from the Model to the View. • Layered Architecture: Divides an application into layers (e.g., presentation, business logic, data access) where each layer has a specific responsibility and interacts with adjacent layers. • These patterns can greatly improve the structure, flexibility, and scalability of your software, but it's important to use them judiciously, as overusing patterns can lead to unnecessary complexity.