Your SlideShare is downloading. ×
0
Design Patterns
Main Objective <ul><li>Motivation </li></ul><ul><li>Design patterns </li></ul><ul><li>Classification </li></ul><ul><li>Sel...
Motivation REUSE To develop reusable software  To reduce the depth of Class hierarchy  To develop high cohesive classes
Patterns Background <ul><li>What is a Pattern ? </li></ul><ul><ul><li>A pattern is an abstract concrete form which keeps r...
Qualities of Software Pattern <ul><li>Encapsulation and Abstraction </li></ul><ul><li>Inheritance & composability </li></ul>
Reuse Types <ul><li>Source code </li></ul><ul><li>Executables </li></ul><ul><li>Object code </li></ul><ul><li>Personnel </...
Approaches of Reusability <ul><li>Library routines </li></ul><ul><li>Overloading </li></ul><ul><li>Generic code / structur...
Toolkits <ul><li>Often an application will incorporate classes from one or more libraries of predefined classes called too...
Framework <ul><li>Frameworks provide domain specific functionality-  e.g. business application, telecommunication applicat...
Framework <ul><li>Dictates architecture </li></ul><ul><li>Captures design decisions common to application domain </li></ul...
OO Frameworks
Frameworks v/s Design Patterns <ul><li>Design patterns are more abstract than frameworks. </li></ul><ul><li>- frameworks c...
 
Design Patterns Description <ul><li>Description of communicating objects and classes, their roles and collaborations, and ...
Essential Element <ul><li>Name </li></ul><ul><li>Problem </li></ul><ul><li>Solution </li></ul><ul><li>Consequences </li></...
Classification <ul><li>Purpose </li></ul><ul><ul><li>Creational - concern process of object creation </li></ul></ul><ul><u...
Design Pattern space
Session No  Name   Type Session 1	Factory Method	Creational Session 2	Strategy		Behavioral Session 3	Decorator		Structural...
Session No  Name   Type Session 8	Builder			Creational Session 9	Singleton			Creational Session 10	Proxy				Structural Ses...
Session No  Name   Type Session 15	Chain of Responsibility	Behavioral Session 16	Memento			Behavioral Session 17	Command		...
Patterns concluding I am top of the world!!
 
 
Selecting a Design Patterns <ul><li>Consider how design patterns solve design problem </li></ul><ul><li>Scan intent sectio...
Summary <ul><li>Reusable elements in a design </li></ul><ul><li>Recurring similarity </li></ul><ul><li>Increase representa...
Upcoming SlideShare
Loading in...5
×

Introduction

567

Published on

Object-oriented analysis and design(OOAD) and Design Pattern Slides UML Slides. for more slides refer www.scmGalaxy.com

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
567
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Introduction"

  1. 1. Design Patterns
  2. 2. Main Objective <ul><li>Motivation </li></ul><ul><li>Design patterns </li></ul><ul><li>Classification </li></ul><ul><li>Selected Patterns </li></ul><ul><li>Selecting and Using Design Patterns </li></ul>
  3. 3. Motivation REUSE To develop reusable software To reduce the depth of Class hierarchy To develop high cohesive classes
  4. 4. Patterns Background <ul><li>What is a Pattern ? </li></ul><ul><ul><li>A pattern is an abstract concrete form which keeps recurring in specific contexts </li></ul></ul><ul><ul><li>“ Patterns = Problem/solution pairs in a context” </li></ul></ul><ul><ul><li>Patterns capture the static and dynamic structure and collaboration among key participants in software designs </li></ul></ul><ul><ul><li>Patterns facilitate reuse of successful software architectures and designs </li></ul></ul>
  5. 5. Qualities of Software Pattern <ul><li>Encapsulation and Abstraction </li></ul><ul><li>Inheritance & composability </li></ul>
  6. 6. Reuse Types <ul><li>Source code </li></ul><ul><li>Executables </li></ul><ul><li>Object code </li></ul><ul><li>Personnel </li></ul><ul><li>Design </li></ul>
  7. 7. Approaches of Reusability <ul><li>Library routines </li></ul><ul><li>Overloading </li></ul><ul><li>Generic code / structures </li></ul><ul><li>Black box reuse ( composition ) </li></ul><ul><li>White box reuse ( inheritance ) </li></ul><ul><li>Toolkits: architecture independence </li></ul><ul><li>Frameworks: rigid architecture </li></ul><ul><li>Patterns: Problem, context & solution </li></ul>
  8. 8. Toolkits <ul><li>Often an application will incorporate classes from one or more libraries of predefined classes called toolkits. </li></ul><ul><li>Set of related and reusable classes,Designed to provide useful general purpose functionality </li></ul><ul><ul><li>E.g.: Set of classes for Lists, associative tables, stacks. </li></ul></ul>
  9. 9. Framework <ul><li>Frameworks provide domain specific functionality- e.g. business application, telecommunication application, window system, distributed applications etc. </li></ul><ul><li>It is semi-complete applications </li></ul><ul><li>// complete applications are developed by inheriting form and instantiating parameterized framework components </li></ul><ul><li>Set of co-operating classes that make up a reusable design for a specific class of software systems </li></ul><ul><ul><li>Graphical editors for Multimedia domains like artistic drawing , music composition and CAD </li></ul></ul><ul><ul><li>Compilers for different programming language and target machines </li></ul></ul>
  10. 10. Framework <ul><li>Dictates architecture </li></ul><ul><li>Captures design decisions common to application domain </li></ul><ul><li>Emphasizes design reuse over code reuse </li></ul>
  11. 11. OO Frameworks
  12. 12. Frameworks v/s Design Patterns <ul><li>Design patterns are more abstract than frameworks. </li></ul><ul><li>- frameworks can be embodied in code but example s of patterns can be embodied in code </li></ul><ul><li>  </li></ul><ul><li>Design patterns are smaller architectural elements than frameworks. </li></ul><ul><li>- a typical framework contains several design patterns, but the reverse is never true </li></ul><ul><li>Design patterns are less specialized than frameworks. – patterns are independent of application </li></ul>
  13. 14. Design Patterns Description <ul><li>Description of communicating objects and classes, their roles and collaborations, and the distribution of responsibilities. </li></ul><ul><li>customized to solve a general design problem in a particular context </li></ul><ul><li>names, abstracts and identifies key aspects of a common design structure </li></ul><ul><ul><li>useful for creating reusable object oriented design </li></ul></ul><ul><li>Focuses on a particular object oriented design problem or issue </li></ul>
  14. 15. Essential Element <ul><li>Name </li></ul><ul><li>Problem </li></ul><ul><li>Solution </li></ul><ul><li>Consequences </li></ul><ul><li>Documentation & illustration Purpose </li></ul><ul><ul><li>Intent </li></ul></ul><ul><ul><li>Motivation </li></ul></ul><ul><ul><li>applicability </li></ul></ul><ul><ul><li>structure </li></ul></ul><ul><ul><li>Consequences </li></ul></ul><ul><ul><li>Sample Code </li></ul></ul>
  15. 16. Classification <ul><li>Purpose </li></ul><ul><ul><li>Creational - concern process of object creation </li></ul></ul><ul><ul><li>Structural - deal with composition of classes or object </li></ul></ul><ul><ul><li>Behavioral - characterize ways in which classes or objects interact and distribute responsibility </li></ul></ul><ul><li>Scope </li></ul><ul><ul><li>class </li></ul></ul><ul><ul><li>object </li></ul></ul>
  16. 17. Design Pattern space
  17. 18. Session No Name Type Session 1 Factory Method Creational Session 2 Strategy Behavioral Session 3 Decorator Structural Session 4 Composite Structural Session 5 Iterator Behavioral Session 6 Template Method Behavioral Session 7 Abstract Factory Creational
  18. 19. Session No Name Type Session 8 Builder Creational Session 9 Singleton Creational Session 10 Proxy Structural Session 11 Adapter Structural Session 12 Bridge Structural Session 13 Mediator Behavioral Session 14 Observer Behavioral
  19. 20. Session No Name Type Session 15 Chain of Responsibility Behavioral Session 16 Memento Behavioral Session 17 Command Behavioral Session 18 Prototype Creational Session 19 State Behavioral Session 20 Visitor Behavioral Session 21 Facade Structural Session 22 Flyweight Structural
  20. 21. Patterns concluding I am top of the world!!
  21. 24. Selecting a Design Patterns <ul><li>Consider how design patterns solve design problem </li></ul><ul><li>Scan intent section </li></ul><ul><li>Study how patterns interrelate </li></ul><ul><li>Study patterns of like purpose </li></ul><ul><li>Consider what should be variable in your design </li></ul><ul><li>Examine a case of Redesign </li></ul>
  22. 25. Summary <ul><li>Reusable elements in a design </li></ul><ul><li>Recurring similarity </li></ul><ul><li>Increase representational power </li></ul><ul><li>Favour object composition over class inheritance </li></ul><ul><li>Delegation of an underlying principle </li></ul><ul><li>Use Design Patterns whenever possible </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×