SlideShare a Scribd company logo
APPLYING DESIGN
PATTERNS
PRESENTED BY:
YOGESHWARAN.T
Applyingdesignpatterns
When does it came to light?
• The applying design patterns method has become increasingly
popular in 1990’s.
• Due to some ground-breaking presentations and books on the
subject released to the object-oriented world.
• The book: Elements of Reusable Object-Oriented Software, by
E. Gamma, R. Helm, R. Johnson, and J. Vlissides
• This book gave 23 patterns each with a solution for a recurring
problem faced in object-oriented design.
What are design patterns?
In software development, a design pattern is a written
document that describes a general solution to a design
problem that recurs repeatedly in many projects
In object-oriented programming, a pattern can contain
the description of certain objects and the general
approach to how to solve the problem.
Programmer's can use more than one design pattern to
solve a specific problem.
A collection of patterns is called a pattern framework.
What is a bad design?
• Software design principles,set a guideline to avoid bad
design.
• These design principles was formulated by ROBERT
MARTIN.
• According to robert martin there are 3 characteristic of
bad design that should be avoided:
1. Rigidity-it affects the too many parts of a system
2. Fragility-unexpected parts of a system may break
3. Immobility-other than current application it can work
in other
Principles of design patterns:
Open close principle
Dependency inversion principle
Interferance segregation principle
Single responsibility principle
Liskov’s substitution principle
Open close principle
• Software entities like classes, modules and functions
should be open for extension but closed for
modifications
• Example: library management system.
• It can be ensured by use of abstract classes and concrete
classes.
• This will enforce having Concrete Classes extending
Abstract Classes instead of changing them.
• Some particular pattern are template pattern and
strategy pattern
Dependency inversion
principle
High-level modules should not depend on low-level
modules. Both should depend on abstractions
Abstractions should not depend on details. Details should
depend on abstractions.
when a software module need some other module, it
initializes and holds a direct reference and couple the
two modules.
Again in order to decouple, first module provides a hook
to second module
Interface segregation principle:
Clients should not to be forced to depend on the
interface that they don’t use.
when we write our interface we should take care
only methods that should be there.
Example: if we add a class worker and add a
method lunch break, all the workers have to
implement it . What is the case if it is a robot?
When any method is not specific to the interface
we call it as fat or polluted.
we should avoid them.
Single responsibility principle
oA class should have only one reason to change.
oWhen we want to change anything in a class we
need to split it into two classes and repair it.
oWhen there is a need to change the class with
more responsibility; it may affect the
functionality of classes.
Liskov’s substitution principle
• Derived types must be completely substitutable
for their base types.
• It is the extension of open close principle
• The new derived class should be able to replace
the base class without any change in code.
Applying design patterns:
The applying design patterns include;
1. State-each is represented as
Not ready
Ready
Pending
Submitted
2. Observers- to update,edit and submit
Requirements:
When a order is first created,it is not ready for online
submission as it is missing required information.
It is ready to submit when it is filled with required information
Pending order is a order that was interrupted admist online
submission.
Once a order is submitted it cannot be edited and
resubmitted.
Learning process:
• Study design patterns with genuine interest to deeply
understand and apply them in real-world scenarios.
• Look for every opportunity to apply in them
• Learn to recognize when a design pattern is absolutely
necessary and helpful and when it is just over-engineering.
How to apply X design pattern
in Y scenarios ?
• Do all of you decide design pattern before coding?
• Is there is any design patterns which you have applied after
coding?
• What are the design patterns which is predominantly used?
• What are the DPs that you apply while tweaking code?
• Are there any hints in code (technical not functional stuff) that
suggest that you should apply a DP ?
• Do you use any Micro-DPs that makes you feel good about the
code you've written ?
Design patterns include the
following types of information:
1. Name that describes the pattern
2. Problem to be solved by the pattern
3. Context, or settings, in which the problem occurs
4. Forces that could influence the problem or its solution
5. Solution proposed to the problem
6. Context for the solution
7. Rationale behind the solution (examples and stories of past
successes or failures often go here)
8. Known uses and related patterns
9. Author and date information
10. References and keywords used or searching
Critical things in design
patterns:
Increase the speed of the design process.
Ensure that lessons learned are adopted.
Reduce overall costs by finding ways for certain
capabilities to be reused.
How to create master design
patterns?
 Create your own design pattern taxonomy
 Come with a standard approach for pattern visualization
 Come up with standard template for pattern description
 Standardize your own design terminology
 Align your design patterns with your ALM.
Applying design patterns

More Related Content

Similar to Applying design patterns

Module 2 design patterns-2
Module 2   design patterns-2Module 2   design patterns-2
Module 2 design patterns-2
Ankit Dubey
 
Unit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptxUnit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptx
DrYogeshDeshmukh1
 
Design Principles to design Patterns
Design Principles to design PatternsDesign Principles to design Patterns
Design Principles to design Patterns
Faizan Haider
 
010821+presentation+oti.ppt
010821+presentation+oti.ppt010821+presentation+oti.ppt
010821+presentation+oti.ppt
Yann-Gaël Guéhéneuc
 
Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"
GlobalLogic Ukraine
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
Asma CHERIF
 
Basic software engineering principles - Session 1
Basic software engineering principles - Session 1Basic software engineering principles - Session 1
Basic software engineering principles - Session 1
LahiruWijewardana1
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptx
MrSDeepakRajAssistan
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
enteritos
 
12266422.ppt
12266422.ppt12266422.ppt
12266422.ppt
CSEC5
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptx
AbdulMateen516672
 
Unit iii design patterns 9
Unit iii design patterns 9Unit iii design patterns 9
Unit iii design patterns 9
kiruthikamurugesan2628
 
CBD.pptx
CBD.pptxCBD.pptx
AntiPatterns
AntiPatternsAntiPatterns
AntiPatterns
Luca Aliberti
 
Design Patterns.ppt
Design Patterns.pptDesign Patterns.ppt
Design Patterns.ppt
TanishaKochak
 
Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)
stanbridge
 
CPP16 - Object Design
CPP16 - Object DesignCPP16 - Object Design
CPP16 - Object Design
Michael Heron
 
SOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNS
SOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNSSOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNS
SOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNS
shubbhi
 
Agile Software Development.ppt
Agile Software Development.pptAgile Software Development.ppt
Agile Software Development.ppt
abdulwehab2
 
Design pattern and their application
Design pattern and their applicationDesign pattern and their application
Design pattern and their application
Hiệp Tiến
 

Similar to Applying design patterns (20)

Module 2 design patterns-2
Module 2   design patterns-2Module 2   design patterns-2
Module 2 design patterns-2
 
Unit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptxUnit No 6 Design Patterns.pptx
Unit No 6 Design Patterns.pptx
 
Design Principles to design Patterns
Design Principles to design PatternsDesign Principles to design Patterns
Design Principles to design Patterns
 
010821+presentation+oti.ppt
010821+presentation+oti.ppt010821+presentation+oti.ppt
010821+presentation+oti.ppt
 
Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
Basic software engineering principles - Session 1
Basic software engineering principles - Session 1Basic software engineering principles - Session 1
Basic software engineering principles - Session 1
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptx
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 
12266422.ppt
12266422.ppt12266422.ppt
12266422.ppt
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptx
 
Unit iii design patterns 9
Unit iii design patterns 9Unit iii design patterns 9
Unit iii design patterns 9
 
CBD.pptx
CBD.pptxCBD.pptx
CBD.pptx
 
AntiPatterns
AntiPatternsAntiPatterns
AntiPatterns
 
Design Patterns.ppt
Design Patterns.pptDesign Patterns.ppt
Design Patterns.ppt
 
Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)
 
CPP16 - Object Design
CPP16 - Object DesignCPP16 - Object Design
CPP16 - Object Design
 
SOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNS
SOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNSSOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNS
SOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNS
 
Agile Software Development.ppt
Agile Software Development.pptAgile Software Development.ppt
Agile Software Development.ppt
 
Design pattern and their application
Design pattern and their applicationDesign pattern and their application
Design pattern and their application
 

Recently uploaded

[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
awadeshbabu
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
University of Maribor
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
anoopmanoharan2
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
ssuser36d3051
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
mahammadsalmanmech
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 

Recently uploaded (20)

[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 

Applying design patterns

  • 1.
  • 3. When does it came to light? • The applying design patterns method has become increasingly popular in 1990’s. • Due to some ground-breaking presentations and books on the subject released to the object-oriented world. • The book: Elements of Reusable Object-Oriented Software, by E. Gamma, R. Helm, R. Johnson, and J. Vlissides • This book gave 23 patterns each with a solution for a recurring problem faced in object-oriented design.
  • 4. What are design patterns? In software development, a design pattern is a written document that describes a general solution to a design problem that recurs repeatedly in many projects In object-oriented programming, a pattern can contain the description of certain objects and the general approach to how to solve the problem. Programmer's can use more than one design pattern to solve a specific problem. A collection of patterns is called a pattern framework.
  • 5. What is a bad design? • Software design principles,set a guideline to avoid bad design. • These design principles was formulated by ROBERT MARTIN. • According to robert martin there are 3 characteristic of bad design that should be avoided: 1. Rigidity-it affects the too many parts of a system 2. Fragility-unexpected parts of a system may break 3. Immobility-other than current application it can work in other
  • 6. Principles of design patterns: Open close principle Dependency inversion principle Interferance segregation principle Single responsibility principle Liskov’s substitution principle
  • 7. Open close principle • Software entities like classes, modules and functions should be open for extension but closed for modifications • Example: library management system. • It can be ensured by use of abstract classes and concrete classes. • This will enforce having Concrete Classes extending Abstract Classes instead of changing them. • Some particular pattern are template pattern and strategy pattern
  • 8. Dependency inversion principle High-level modules should not depend on low-level modules. Both should depend on abstractions Abstractions should not depend on details. Details should depend on abstractions. when a software module need some other module, it initializes and holds a direct reference and couple the two modules. Again in order to decouple, first module provides a hook to second module
  • 9. Interface segregation principle: Clients should not to be forced to depend on the interface that they don’t use. when we write our interface we should take care only methods that should be there. Example: if we add a class worker and add a method lunch break, all the workers have to implement it . What is the case if it is a robot? When any method is not specific to the interface we call it as fat or polluted. we should avoid them.
  • 10. Single responsibility principle oA class should have only one reason to change. oWhen we want to change anything in a class we need to split it into two classes and repair it. oWhen there is a need to change the class with more responsibility; it may affect the functionality of classes.
  • 11. Liskov’s substitution principle • Derived types must be completely substitutable for their base types. • It is the extension of open close principle • The new derived class should be able to replace the base class without any change in code.
  • 12. Applying design patterns: The applying design patterns include; 1. State-each is represented as Not ready Ready Pending Submitted 2. Observers- to update,edit and submit
  • 13.
  • 14. Requirements: When a order is first created,it is not ready for online submission as it is missing required information. It is ready to submit when it is filled with required information Pending order is a order that was interrupted admist online submission. Once a order is submitted it cannot be edited and resubmitted.
  • 15. Learning process: • Study design patterns with genuine interest to deeply understand and apply them in real-world scenarios. • Look for every opportunity to apply in them • Learn to recognize when a design pattern is absolutely necessary and helpful and when it is just over-engineering.
  • 16. How to apply X design pattern in Y scenarios ? • Do all of you decide design pattern before coding? • Is there is any design patterns which you have applied after coding? • What are the design patterns which is predominantly used? • What are the DPs that you apply while tweaking code? • Are there any hints in code (technical not functional stuff) that suggest that you should apply a DP ? • Do you use any Micro-DPs that makes you feel good about the code you've written ?
  • 17. Design patterns include the following types of information: 1. Name that describes the pattern 2. Problem to be solved by the pattern 3. Context, or settings, in which the problem occurs 4. Forces that could influence the problem or its solution 5. Solution proposed to the problem 6. Context for the solution 7. Rationale behind the solution (examples and stories of past successes or failures often go here) 8. Known uses and related patterns 9. Author and date information 10. References and keywords used or searching
  • 18. Critical things in design patterns: Increase the speed of the design process. Ensure that lessons learned are adopted. Reduce overall costs by finding ways for certain capabilities to be reused.
  • 19. How to create master design patterns?  Create your own design pattern taxonomy  Come with a standard approach for pattern visualization  Come up with standard template for pattern description  Standardize your own design terminology  Align your design patterns with your ALM.