9. 9
WHAT IS SOFTWARE DESIGN PATTERN
a software design pattern is a general
reusable solution to a commonly occurring
problem within a given context in software
design
https://en.wikipedia.org/wiki/Software_design_pattern
Software Design Pattern is a collection of named
solutions for common problems in the context of
software engineering
11. 11
WHY DESIGN PATTERN
Patterns are accumulations of experience
Thus reducing the technical risks
Design Pattern is well tested
Common Vocabulary
Thus making communication more efficient
http://janjiss.com/3-reasons-why-design-patterns-matter/
1
2
3
12. 12
CLASSIFICATION OF DESIGN PATTERN
Structural Pattern
How to build relationship between entity (Adapter, Bridge,
Decorator, etc)
Creational Pattern
Deal with object creational (Singleton, Factory, Lazy, etc)
Behavioral Pattern
Communication between objects (Observer, Iterator, Chain
of Responsibility, etc)
Architectural Pattern
High level pattern (MVC, n-tier, client-server, peer-to-peer, etc)
1
2
3
4