Anúncio

Design Patterns Presentation - Chetan Gole

Senior Software Engineer em Persistent Systems Limited
27 de Sep de 2010
Anúncio

Mais conteúdo relacionado

Anúncio

Design Patterns Presentation - Chetan Gole

  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
Anúncio