Design Patterns Presentation - Chetan Gole

  • 5,466 views
Uploaded on

An Introductory session of Design Patterns.

An Introductory session of Design Patterns.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,466
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
326
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. This presentation is the intellectual property of Infospectrum India Private Limited. Any unauthorized use, dissemination of Infosp ctrum the information, or copying of this presentation, in whole or in part, without the express written permission of Infospectrum India Private Limited is prohibited. Please send an email to info@info-spectrum.com to obtain written authorization a spectrum of possibilities
  • 2. What is Design Pattern Design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Infosp ctrum a spectrum of possibilities chetangole.com
  • 3. Infosp ctrum a spectrum of possibilities chetangole.com
  • 4. History Civil Engineer Christopher Alexander. Gang of four : Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides Infosp ctrum a spectrum of possibilities chetangole.com
  • 5. Why Design Patterns • To design a new software system quickly and efficiently. • To understand a existing software system. Infosp ctrum a spectrum of possibilities chetangole.com
  • 6. Types of Design Pattern • Creational Design pattern – Object creation. • Structural design patterns – Relationship between entities. • Behavioural design patterns – Communication between objects. Infosp ctrum a spectrum of possibilities chetangole.com
  • 7. Observer Design Pattern • Observer Design Pattern is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. • Type : Behavioral pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 8. Factory Design Pattern • Define an interface for creating an object, but let the subclasses decide which class to instantiate. The Factory method lets a class defer instantiation to subclasses. • Type : Creational pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 9. Singleton Design Pattern • Ensure a class has only one instance, and provide a global point of access to it. • Encapsulated “just-in-time initialization” or “initialization on first use”. • Type : Creational pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 10. UML Diagram for Singleton Infosp ctrum a spectrum of possibilities chetangole.com
  • 11. Strategy Design pattern The strategy pattern (also known as the policy pattern) is a particular software design pattern, whereby algorithms can be selected at runtime. Type : Behavioral pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 12. Adaptor Design pattern The adapter pattern (often referred to as the wrapper pattern or simply a wrapper) is a design pattern that translates one interface for a class into a compatible interface. Infosp ctrum a spectrum of possibilities chetangole.com
  • 13. Proxy Design Pattern A proxy, in its most general form, is a class functioning as an interface to something else. The proxy could interface to anything: a network connection, a large object in memory, a file, or some other resource that is expensive or impossible to duplicate. Type : Structural pattern. Infosp ctrum a spectrum of possibilities
  • 14. Chain of responsibilities The chain-of-responsibility pattern is a design pattern consisting of a source of command objects and a series of processing objects. Each processing object contains a set of logic that describes the types of command objects that it can handle and how to pass off those that it cannot to the next processing object in the chain Type : Behavioral pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 15. Decorator Design pattern The decorator pattern is a design pattern that allows new/additional behaviour to be added to an existing object dynamically. Type: Structural patterns Infosp ctrum a spectrum of possibilities chetangole.com
  • 16. Template method pattern A template method defines the program skeleton of an algorithm. One or more of the algorithm steps are able to be overridden by subclasses to provide their own concrete implementation. Type : Behavioral Design Pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 17. Builder pattern The intention is to abstract steps of construction of objects so that different implementations of these steps can construct different representations of objects. Type : Creational Design Pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 18. Façade pattern A facade is an object that provides a simplified interface to a larger body of code, such as a class library. Type: Structural Design Pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 19. Iterator pattern The Iterator pattern is a design pattern in which iterators are used to access the elements of an aggregate object sequentially without exposing its underlying representation. An Iterator object encapsulates the internal structure of how the iteration occurs. Type : Behavioral Design Pattern. Infosp ctrum a spectrum of possibilities chetangole.com
  • 20. Mediator Pattern • Behavioural pattern • Definition – With the mediator pattern communication between objects is encapsulated with a mediator object. Objects no longer communicate directly with each other , but instead communicate through the mediator . This results in a more cohesive implementation of the logic and decreased coupling between the other objects. Infosp ctrum a spectrum of possibilities chetangole.com
  • 21. Flyweight Pattern • Structural Pattern • Definition – The Flyweight pattern provides a mechanism by which you can avoid creating a large number of 'expensive' objects and instead reuse existing instances to represent new ones. Infosp ctrum a spectrum of possibilities chetangole.com
  • 22. Prototype pattern • Creational pattern. • Definition – The Prototype pattern is basically the creation of new instances through cloning existing instances. By creating a prototype, new objects are created by copying this prototype. Infosp ctrum a spectrum of possibilities chetangole.com
  • 23. State Pattern • Behavioral patterns • Definition – The State pattern allows an object to alter its behaviour when its internal state changes. By using inheritance and letting subclasses represent different states and functionality we can switch during runtime. This is a clean way for an object to partially change its type at runtime. Infosp ctrum a spectrum of possibilities chetangole.com
  • 24. Thank you….. • Good read about Design Patterns – http://en.wikipedia.org/wiki/Design_pattern_(computer_science) – http://sourcemaking.com/design_patterns – http://java.sun.com/blueprints/patterns/index.html – http://www.codeproject.com/KB/architecture/#Design Patterns – http://msdn.microsoft.com/en-us/magazine/cc301852.aspx – http://www.javacamp.org/designPattern/ – http://www.javaworld.com/channel_content/jw-patterns-index.html – http://www.ibm.com/developerworks/java/tutorials/j-patterns201/ • About me – Email: chetangole@gmail.com – Web : chetangole.com If this presentation contains your copyrighted material please contact me at : chetangole@gmail.com This presentation is the intellectual property of Infospectrum India Private Limited. Any unauthorized use, dissemination of Infosp ctrum the information, or copying of this presentation, in whole or in part, without the express written permission of Infospectrum India Private Limited is prohibited. Please send an email to info@info-spectrum.com to obtain written authorization a spectrum of possibilities