Gof design pattern

naveen kumar
naveen kumarCorporate Trainer em Self Employed and Loving It!
GOF
Naveen Kumar K S
Adith.Naveen@gmail.com
Introduction
¡ 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
¡ All Design Patterns are got based on trial and
error by software engineers.
GOF?
¡ Discussed in 1994
¡ By Four people
¡ Erich Gamma
¡ Richard Helm
¡ Ralph Johnson
¡ John Vlissides
¡ To encourage people to go with reusable coding
Types of Design Patterns
¡ There are 23 design patterns which can be
classified in three categories: Creational,
Structural and Behavioral patterns.
¡ Another design pattern J2EE will be discussed in
other course
Creational Patterns
Abstract Factory Creates an instance of several families of classes
Builder Separates object construction from its representation
Factory Method Creates an instance of several derived classes
Prototype A fully initialized instance to be copied or cloned
Singleton A class of which only a single instance can exist
Structural Patterns
Adapter Match interfaces of different classes
Bridge Separates an object’s interface from its implementation
Composite A tree structure of simple and composite objects
Decorator Add responsibilities to objects dynamically
Facade A single class that represents an entire subsystem
Flyweight A fine-grained instance used for efficient sharing
Proxy An object representing another object
Behavioral Patterns
Chain of Resp. A way of passing a request between a chain of objects
Command Encapsulate a command request as an object
Interpreter A way to include language elements in a program
Iterator Sequentially access the elements of a collection
Mediator Defines simplified communication between classes
Memento Capture and restore an object's internal state
Observer A way of notifying change to a number of classes
State Alter an object's behavior when its state changes
Strategy Encapsulates an algorithm inside a class
Template Method Defer the exact steps of an algorithm to a subclass
Visitor Defines a new operation to a class without change
Singleton
¡ Singleton pattern is one of the simplest design
patterns in Java. This type of design pattern
comes under creational pattern as this pattern
provides one of the best ways to create an
object.
Factory Pattern
¡ Factory pattern is one of most used design
pattern in Java. This type of design pattern
comes under creational pattern as this pattern
provides one of the best ways to create an
object.
¡ In Factory pattern, we create object without
exposing the creation logic to the client and
refer to newly created object using a common
interface.
Abstract Factory Pattern
¡ Abstract Factory patterns work around a super-
factory which creates other factories. This factory
is also called as factory of factories. This type of
design pattern comes under creational pattern
as this pattern provides one of the best ways to
create an object.
Prototype Pattern
¡ Prototype pattern refers to creating duplicate
object while keeping performance in mind. This
type of design pattern comes under creational
pattern as this pattern provides one of the best
ways to create an object.
Bridge Pattern
¡ Bridge is used when we need to decouple an
abstraction from its implementation so that the
two can vary independently. This type of design
pattern comes under structural pattern as this
pattern decouples implementation class and
abstract class by providing a bridge structure
between them.
Need for Bridge Pattern
Bridge Pattern
Filter Pattern
¡ Filter pattern or Criteria pattern is a design
pattern that enables developers to filter a set of
objects using different criteria and chaining them
in a decoupled way through logical operations.
This type of design pattern comes under
structural pattern as this pattern combines
multiple criteria to obtain single criteria.
Decorator Pattern
¡ Decorator pattern allows a user to add new
functionality to an existing object without altering
its structure. This type of design pattern comes
under structural pattern as this pattern acts as a
wrapper to existing class.
Façade Pattern
¡ Facade pattern hides the complexities of the
system and provides an interface to the client
using which the client can access the system. This
type of design pattern comes under structural
pattern as this pattern adds an interface to
existing system to hide its complexities.
Observer Pattern
¡ Observer pattern is used when there is one-to-
many relationship between objects such as if one
object is modified, its dependent objects are to
be notified automatically. Observer pattern falls
under behavioral pattern category.
Delegate Pattern
¡ Business Delegate Pattern is used to decouple
presentation tier and business tier. It is basically
use to reduce communication or remote lookup
functionality to business tier code in presentation
tier code. In business tier we have following
entities.
Thank You
J2EE Design Pattern
J2EE Patterns
¡ Presentation Tier Patterns
¡ Business Tier Patterns
¡ Integration Tier Patterns
Intercepting Filter
¡ intercepts incoming requests and outgoing
responses and applies a filter.
¡ These filters may be added and removed in a
declarative manner
¡ For an incoming request, this is often a Front
Controller
Intercepting Filter
Front Controller
¡ Is a container to hold the common processing
logic that occurs within the presentation tier
¡ A controller handles requests and manages
content retrieval, security, view management,
and navigation, delegating to a Dispatcher
component to dispatch to a View.
¡ The Front Controller pattern creates central
control logic for presentation request handling.
Front controller
Dispatcher View
¡ Combines a controller and dispatcher with views
and helpers to handle client requests and
prepare a dynamic presentation as the response.
¡ A dispatcher is responsible for view management
and navigation and can be encapsulated either
within a controller, a view, or a separate
component.
¡ The Dispatcher View pattern handles the request
and generates a response while managing
limited business processing.
Dispatcher View
Business Tier
Patterns
Business Delegate
¡ Reduces coupling between remote tiers and
provides an entry point for accessing remote
services in the business tier.
¡ A Business Delegate might also cache data as
necessary to improve performance.
¡ A Business Delegate encapsulates a Session
Façade and maintains a one-to-one relationship
with that Session Façade.
¡ You want to hide clients from the complexity of
remote communication with business service
components.
Business Delegate
Session Façade
¡ Provides coarse-grained services to the clients by
hiding the complexities of the business service
interactions.
¡ This is the same as a Façade pattern as
described in GOF Design Patterns, but just
provides an interface to a service instead of
code.
Session Façade
Composite Entity
¡ Implements a Business Object using local entity
beans and POJOs.
¡ When implemented with bean-managed
persistence, a Composite Entity uses Data Access
Objects to facilitate persistence.
¡ to avoid the drawbacks of remote entity beans,
such as network overhead and remote inter-
entity bean relationships.
Composite Entity
Transfer Object
¡ You want clients to access components in other
tiers to retrieve and update data.
¡ You want to reduce remote requests across the
network.
¡ You want to avoid network performance
degradation caused by chattier applications
that have high network traffic.
¡ Reduces network traffic
¡ Simplifies remote object and remote interface
Transfer Object
Integration Tier
Patterns
Data Access Object
¡ Enables loose coupling between the business
and resource tiers.
¡ Data Access Object encapsulates all the data
access logic to create, retrieve, delete, and
update data from a persistent store.
¡ Data Access Object uses Transfer Object to send
and receive data.
Data Access Object
Web Service Broker
¡ Exposes and brokers one or more services in your
application to external clients as a web service
using XML and standard web protocols.
¡ A Web Service Broker can interact with
Application Service and Session Façade.
¡ A Web Service Broker uses one or more Service
Activators to perform asynchronous processing of
a request.
¡ The Web Service Broker pattern exposes and
brokers services using XML and web protocols.
Web Service Broker
Question??
1 de 43

Recomendados

Design patterns ppt por
Design patterns pptDesign patterns ppt
Design patterns pptAman Jain
28.7K visualizações18 slides
Gof design patterns por
Gof design patternsGof design patterns
Gof design patternsSrikanth R Vaka
19.1K visualizações60 slides
Introduction to design patterns por
Introduction to design patternsIntroduction to design patterns
Introduction to design patternsAmit Kabra
1.7K visualizações44 slides
Introduction to Design Pattern por
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design PatternSanae BEKKAR
17K visualizações31 slides
Facade Pattern por
Facade PatternFacade Pattern
Facade Patternmelbournepatterns
5.8K visualizações15 slides
Prototype pattern por
Prototype patternPrototype pattern
Prototype patternShakil Ahmed
6.7K visualizações14 slides

Mais conteúdo relacionado

Mais procurados

Design pattern-presentation por
Design pattern-presentationDesign pattern-presentation
Design pattern-presentationRana Muhammad Asif
3.3K visualizações47 slides
Design Patterns - General Introduction por
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General IntroductionAsma CHERIF
628 visualizações132 slides
Architectural styles and patterns por
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patternsHimanshu
27.9K visualizações12 slides
Design Concept software engineering por
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
24.5K visualizações14 slides
servlet in java por
servlet in javaservlet in java
servlet in javasowfi
261 visualizações15 slides
Introduction to APIs (Application Programming Interface) por
Introduction to APIs (Application Programming Interface) Introduction to APIs (Application Programming Interface)
Introduction to APIs (Application Programming Interface) Vibhawa Nirmal
6K visualizações18 slides

Mais procurados(20)

Design pattern-presentation por Rana Muhammad Asif
Design pattern-presentationDesign pattern-presentation
Design pattern-presentation
Rana Muhammad Asif3.3K visualizações
Design Patterns - General Introduction por Asma CHERIF
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
Asma CHERIF628 visualizações
Architectural styles and patterns por Himanshu
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu 27.9K visualizações
Design Concept software engineering por Darshit Metaliya
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya24.5K visualizações
servlet in java por sowfi
servlet in javaservlet in java
servlet in java
sowfi261 visualizações
Introduction to APIs (Application Programming Interface) por Vibhawa Nirmal
Introduction to APIs (Application Programming Interface) Introduction to APIs (Application Programming Interface)
Introduction to APIs (Application Programming Interface)
Vibhawa Nirmal6K visualizações
Adapter pattern por Shakil Ahmed
Adapter patternAdapter pattern
Adapter pattern
Shakil Ahmed5.7K visualizações
Angular 2.0 forms por Eyal Vardi
Angular 2.0 formsAngular 2.0 forms
Angular 2.0 forms
Eyal Vardi3.4K visualizações
Sequence diagram por Rahul Pola
Sequence diagramSequence diagram
Sequence diagram
Rahul Pola17.6K visualizações
Java rmi por kamal kotecha
Java rmiJava rmi
Java rmi
kamal kotecha23.6K visualizações
Let us understand design pattern por Mindfire Solutions
Let us understand design patternLet us understand design pattern
Let us understand design pattern
Mindfire Solutions35.8K visualizações
Software process por Jennifer Polack
Software processSoftware process
Software process
Jennifer Polack9K visualizações
Object oriented analysis por Mahesh Bhalerao
Object oriented analysisObject oriented analysis
Object oriented analysis
Mahesh Bhalerao37.9K visualizações
Builder pattern por Shakil Ahmed
Builder patternBuilder pattern
Builder pattern
Shakil Ahmed6.7K visualizações
Presentation facade design pattern por Bayu Firmawan Paoh
Presentation facade design patternPresentation facade design pattern
Presentation facade design pattern
Bayu Firmawan Paoh4.2K visualizações
Use Case Diagram por Kumar
Use Case DiagramUse Case Diagram
Use Case Diagram
Kumar 27.6K visualizações
Software Design Patterns por Satheesh Sukumaran
Software Design PatternsSoftware Design Patterns
Software Design Patterns
Satheesh Sukumaran1.2K visualizações
Class diagrams por Nadia_Nazeer
Class diagramsClass diagrams
Class diagrams
Nadia_Nazeer11.9K visualizações
Unified process model por RyndaMaala
Unified process modelUnified process model
Unified process model
RyndaMaala4.4K visualizações

Similar a Gof design pattern

Typescript design patterns applied to sharepoint framework - Sharepoint Satur... por
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Luis Valencia
603 visualizações31 slides
Bartlesville Dot Net User Group Design Patterns por
Bartlesville Dot Net User Group Design PatternsBartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design PatternsJason Townsend, MBA
1.8K visualizações44 slides
Design Patterns For 70% Of Programmers In The World por
Design Patterns For 70% Of Programmers In The WorldDesign Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldSaurabh Moody
24.8K visualizações60 slides
Design pattern por
Design patternDesign pattern
Design patternShreyance Jain
469 visualizações40 slides
Software design and Architecture.pptx por
Software design and Architecture.pptxSoftware design and Architecture.pptx
Software design and Architecture.pptxSHAHZAIBABBAS13
1 visão15 slides
Design Pattern in Software Engineering por
Design Pattern in Software Engineering Design Pattern in Software Engineering
Design Pattern in Software Engineering Bilal Hassan
286 visualizações33 slides

Similar a Gof design pattern(20)

Typescript design patterns applied to sharepoint framework - Sharepoint Satur... por Luis Valencia
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Luis Valencia603 visualizações
Bartlesville Dot Net User Group Design Patterns por Jason Townsend, MBA
Bartlesville Dot Net User Group Design PatternsBartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design Patterns
Jason Townsend, MBA1.8K visualizações
Design Patterns For 70% Of Programmers In The World por Saurabh Moody
Design Patterns For 70% Of Programmers In The WorldDesign Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The World
Saurabh Moody24.8K visualizações
Design pattern por Shreyance Jain
Design patternDesign pattern
Design pattern
Shreyance Jain469 visualizações
Software design and Architecture.pptx por SHAHZAIBABBAS13
Software design and Architecture.pptxSoftware design and Architecture.pptx
Software design and Architecture.pptx
SHAHZAIBABBAS131 visão
Design Pattern in Software Engineering por Bilal Hassan
Design Pattern in Software Engineering Design Pattern in Software Engineering
Design Pattern in Software Engineering
Bilal Hassan286 visualizações
Design patterns por Ahmed Elharouny
Design patternsDesign patterns
Design patterns
Ahmed Elharouny1.1K visualizações
Patterns (contd)Software Development ProcessDesign patte.docx por danhaley45372
Patterns (contd)Software Development ProcessDesign patte.docxPatterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docx
danhaley453724 visualizações
J2EE pattern 5 por Naga Muruga
J2EE pattern 5J2EE pattern 5
J2EE pattern 5
Naga Muruga43 visualizações
P Training Presentation por Gaurav Tyagi
P Training PresentationP Training Presentation
P Training Presentation
Gaurav Tyagi1.1K visualizações
Design patterns fast track por Binu Bhasuran
Design patterns fast trackDesign patterns fast track
Design patterns fast track
Binu Bhasuran114 visualizações
Design Pattern For C# Part 1 por Shahzad
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1
Shahzad 7.1K visualizações
UNIT IV DESIGN PATTERNS.pptx por anguraju1
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptx
anguraju13 visualizações
Gang of Four in Java por Mina Tafreshi
Gang of Four in Java Gang of Four in Java
Gang of Four in Java
Mina Tafreshi98 visualizações
Introduction To Design Patterns por sukumarraju6
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patterns
sukumarraju6372 visualizações
Design Pattern with Actionscript por Daniel Swid
Design Pattern with ActionscriptDesign Pattern with Actionscript
Design Pattern with Actionscript
Daniel Swid777 visualizações
Software Design Patterns por Satheesh Sukumaran
Software Design PatternsSoftware Design Patterns
Software Design Patterns
Satheesh Sukumaran504 visualizações
Design pattern in android por Jay Kumarr
Design pattern in androidDesign pattern in android
Design pattern in android
Jay Kumarr21K visualizações

Último

Monthly Information Session for MV Asterix (November) por
Monthly Information Session for MV Asterix (November)Monthly Information Session for MV Asterix (November)
Monthly Information Session for MV Asterix (November)Esquimalt MFRC
91 visualizações26 slides
Classification of crude drugs.pptx por
Classification of crude drugs.pptxClassification of crude drugs.pptx
Classification of crude drugs.pptxGayatriPatra14
104 visualizações13 slides
Relationship of psychology with other subjects. por
Relationship of psychology with other subjects.Relationship of psychology with other subjects.
Relationship of psychology with other subjects.palswagata2003
77 visualizações16 slides
Java Simplified: Understanding Programming Basics por
Java Simplified: Understanding Programming BasicsJava Simplified: Understanding Programming Basics
Java Simplified: Understanding Programming BasicsAkshaj Vadakkath Joshy
532 visualizações155 slides
When Sex Gets Complicated: Porn, Affairs, & Cybersex por
When Sex Gets Complicated: Porn, Affairs, & CybersexWhen Sex Gets Complicated: Porn, Affairs, & Cybersex
When Sex Gets Complicated: Porn, Affairs, & CybersexMarlene Maheu
99 visualizações73 slides
ICS3211_lecture 09_2023.pdf por
ICS3211_lecture 09_2023.pdfICS3211_lecture 09_2023.pdf
ICS3211_lecture 09_2023.pdfVanessa Camilleri
126 visualizações10 slides

Último(20)

Monthly Information Session for MV Asterix (November) por Esquimalt MFRC
Monthly Information Session for MV Asterix (November)Monthly Information Session for MV Asterix (November)
Monthly Information Session for MV Asterix (November)
Esquimalt MFRC91 visualizações
Classification of crude drugs.pptx por GayatriPatra14
Classification of crude drugs.pptxClassification of crude drugs.pptx
Classification of crude drugs.pptx
GayatriPatra14104 visualizações
Relationship of psychology with other subjects. por palswagata2003
Relationship of psychology with other subjects.Relationship of psychology with other subjects.
Relationship of psychology with other subjects.
palswagata200377 visualizações
Java Simplified: Understanding Programming Basics por Akshaj Vadakkath Joshy
Java Simplified: Understanding Programming BasicsJava Simplified: Understanding Programming Basics
Java Simplified: Understanding Programming Basics
Akshaj Vadakkath Joshy532 visualizações
When Sex Gets Complicated: Porn, Affairs, & Cybersex por Marlene Maheu
When Sex Gets Complicated: Porn, Affairs, & CybersexWhen Sex Gets Complicated: Porn, Affairs, & Cybersex
When Sex Gets Complicated: Porn, Affairs, & Cybersex
Marlene Maheu99 visualizações
ICS3211_lecture 09_2023.pdf por Vanessa Camilleri
ICS3211_lecture 09_2023.pdfICS3211_lecture 09_2023.pdf
ICS3211_lecture 09_2023.pdf
Vanessa Camilleri126 visualizações
Pharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptx por Ms. Pooja Bhandare
Pharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptxPharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptx
Pharmaceutical Inorganic chemistry UNIT-V Radiopharmaceutical.pptx
Ms. Pooja Bhandare120 visualizações
The basics - information, data, technology and systems.pdf por JonathanCovena1
The basics - information, data, technology and systems.pdfThe basics - information, data, technology and systems.pdf
The basics - information, data, technology and systems.pdf
JonathanCovena1156 visualizações
Meet the Bible por Steve Thomason
Meet the BibleMeet the Bible
Meet the Bible
Steve Thomason69 visualizações
MIXING OF PHARMACEUTICALS.pptx por Anupkumar Sharma
MIXING OF PHARMACEUTICALS.pptxMIXING OF PHARMACEUTICALS.pptx
MIXING OF PHARMACEUTICALS.pptx
Anupkumar Sharma107 visualizações
Purpose of maths student display.pptx por christianmathematics
Purpose of maths student display.pptxPurpose of maths student display.pptx
Purpose of maths student display.pptx
christianmathematics190 visualizações
AUDIENCE - BANDURA.pptx por iammrhaywood
AUDIENCE - BANDURA.pptxAUDIENCE - BANDURA.pptx
AUDIENCE - BANDURA.pptx
iammrhaywood131 visualizações
Recap of our Class por Corinne Weisgerber
Recap of our ClassRecap of our Class
Recap of our Class
Corinne Weisgerber100 visualizações
Volf work.pdf por MariaKenney3
Volf work.pdfVolf work.pdf
Volf work.pdf
MariaKenney366 visualizações
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptx por Debapriya Chakraborty
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxGopal Chakraborty Memorial Quiz 2.0 Prelims.pptx
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptx
Debapriya Chakraborty709 visualizações
Class 9 lesson plans por TARIQ KHAN
Class 9 lesson plansClass 9 lesson plans
Class 9 lesson plans
TARIQ KHAN53 visualizações
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant... por Ms. Pooja Bhandare
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Ms. Pooja Bhandare166 visualizações

Gof design pattern

  • 1. GOF Naveen Kumar K S Adith.Naveen@gmail.com
  • 2. Introduction ¡ 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 ¡ All Design Patterns are got based on trial and error by software engineers.
  • 3. GOF? ¡ Discussed in 1994 ¡ By Four people ¡ Erich Gamma ¡ Richard Helm ¡ Ralph Johnson ¡ John Vlissides ¡ To encourage people to go with reusable coding
  • 4. Types of Design Patterns ¡ There are 23 design patterns which can be classified in three categories: Creational, Structural and Behavioral patterns. ¡ Another design pattern J2EE will be discussed in other course
  • 5. Creational Patterns Abstract Factory Creates an instance of several families of classes Builder Separates object construction from its representation Factory Method Creates an instance of several derived classes Prototype A fully initialized instance to be copied or cloned Singleton A class of which only a single instance can exist
  • 6. Structural Patterns Adapter Match interfaces of different classes Bridge Separates an object’s interface from its implementation Composite A tree structure of simple and composite objects Decorator Add responsibilities to objects dynamically Facade A single class that represents an entire subsystem Flyweight A fine-grained instance used for efficient sharing Proxy An object representing another object
  • 7. Behavioral Patterns Chain of Resp. A way of passing a request between a chain of objects Command Encapsulate a command request as an object Interpreter A way to include language elements in a program Iterator Sequentially access the elements of a collection Mediator Defines simplified communication between classes Memento Capture and restore an object's internal state Observer A way of notifying change to a number of classes State Alter an object's behavior when its state changes Strategy Encapsulates an algorithm inside a class Template Method Defer the exact steps of an algorithm to a subclass Visitor Defines a new operation to a class without change
  • 8. Singleton ¡ Singleton pattern is one of the simplest design patterns in Java. This type of design pattern comes under creational pattern as this pattern provides one of the best ways to create an object.
  • 9. Factory Pattern ¡ Factory pattern is one of most used design pattern in Java. This type of design pattern comes under creational pattern as this pattern provides one of the best ways to create an object. ¡ In Factory pattern, we create object without exposing the creation logic to the client and refer to newly created object using a common interface.
  • 10. Abstract Factory Pattern ¡ Abstract Factory patterns work around a super- factory which creates other factories. This factory is also called as factory of factories. This type of design pattern comes under creational pattern as this pattern provides one of the best ways to create an object.
  • 11. Prototype Pattern ¡ Prototype pattern refers to creating duplicate object while keeping performance in mind. This type of design pattern comes under creational pattern as this pattern provides one of the best ways to create an object.
  • 12. Bridge Pattern ¡ Bridge is used when we need to decouple an abstraction from its implementation so that the two can vary independently. This type of design pattern comes under structural pattern as this pattern decouples implementation class and abstract class by providing a bridge structure between them.
  • 13. Need for Bridge Pattern
  • 15. Filter Pattern ¡ Filter pattern or Criteria pattern is a design pattern that enables developers to filter a set of objects using different criteria and chaining them in a decoupled way through logical operations. This type of design pattern comes under structural pattern as this pattern combines multiple criteria to obtain single criteria.
  • 16. Decorator Pattern ¡ Decorator pattern allows a user to add new functionality to an existing object without altering its structure. This type of design pattern comes under structural pattern as this pattern acts as a wrapper to existing class.
  • 17. Façade Pattern ¡ Facade pattern hides the complexities of the system and provides an interface to the client using which the client can access the system. This type of design pattern comes under structural pattern as this pattern adds an interface to existing system to hide its complexities.
  • 18. Observer Pattern ¡ Observer pattern is used when there is one-to- many relationship between objects such as if one object is modified, its dependent objects are to be notified automatically. Observer pattern falls under behavioral pattern category.
  • 19. Delegate Pattern ¡ Business Delegate Pattern is used to decouple presentation tier and business tier. It is basically use to reduce communication or remote lookup functionality to business tier code in presentation tier code. In business tier we have following entities.
  • 22. J2EE Patterns ¡ Presentation Tier Patterns ¡ Business Tier Patterns ¡ Integration Tier Patterns
  • 23. Intercepting Filter ¡ intercepts incoming requests and outgoing responses and applies a filter. ¡ These filters may be added and removed in a declarative manner ¡ For an incoming request, this is often a Front Controller
  • 25. Front Controller ¡ Is a container to hold the common processing logic that occurs within the presentation tier ¡ A controller handles requests and manages content retrieval, security, view management, and navigation, delegating to a Dispatcher component to dispatch to a View. ¡ The Front Controller pattern creates central control logic for presentation request handling.
  • 27. Dispatcher View ¡ Combines a controller and dispatcher with views and helpers to handle client requests and prepare a dynamic presentation as the response. ¡ A dispatcher is responsible for view management and navigation and can be encapsulated either within a controller, a view, or a separate component. ¡ The Dispatcher View pattern handles the request and generates a response while managing limited business processing.
  • 30. Business Delegate ¡ Reduces coupling between remote tiers and provides an entry point for accessing remote services in the business tier. ¡ A Business Delegate might also cache data as necessary to improve performance. ¡ A Business Delegate encapsulates a Session Façade and maintains a one-to-one relationship with that Session Façade. ¡ You want to hide clients from the complexity of remote communication with business service components.
  • 32. Session Façade ¡ Provides coarse-grained services to the clients by hiding the complexities of the business service interactions. ¡ This is the same as a Façade pattern as described in GOF Design Patterns, but just provides an interface to a service instead of code.
  • 34. Composite Entity ¡ Implements a Business Object using local entity beans and POJOs. ¡ When implemented with bean-managed persistence, a Composite Entity uses Data Access Objects to facilitate persistence. ¡ to avoid the drawbacks of remote entity beans, such as network overhead and remote inter- entity bean relationships.
  • 36. Transfer Object ¡ You want clients to access components in other tiers to retrieve and update data. ¡ You want to reduce remote requests across the network. ¡ You want to avoid network performance degradation caused by chattier applications that have high network traffic. ¡ Reduces network traffic ¡ Simplifies remote object and remote interface
  • 39. Data Access Object ¡ Enables loose coupling between the business and resource tiers. ¡ Data Access Object encapsulates all the data access logic to create, retrieve, delete, and update data from a persistent store. ¡ Data Access Object uses Transfer Object to send and receive data.
  • 41. Web Service Broker ¡ Exposes and brokers one or more services in your application to external clients as a web service using XML and standard web protocols. ¡ A Web Service Broker can interact with Application Service and Session Façade. ¡ A Web Service Broker uses one or more Service Activators to perform asynchronous processing of a request. ¡ The Web Service Broker pattern exposes and brokers services using XML and web protocols.