Design patterns
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Design patterns






Total Views
Views on SlideShare
Embed Views



1 Embed 1 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Design patterns Presentation Transcript

  • 1. Design Patterns Authors: Deepak Kumar & Swapnil Chandra
  • 2.
      • Design Patterns were introduced to the software community in ' Design Patterns ' by software architect Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
      • Colloquially known as the "gang of four"
      • A Design Pattern is a known solution to commonly occurring problems or scenarios in software design. 
      • It is a kind of a template or structure on which one can code the application.
    What Are Design Patterns?    
  • 3. Common Software Design Patterns ...
      • Singleton Pattern
      • MVC (i.e. Model-View-Controler) 
      • Factory Method
      • Observer 
  • 4. Singleton Pattern ...
      • This pattern is used in applications when only a single instance of a resource is required
      • Most common type of resource, on which this can be applied is database connection
      • You want to share the database handle in an application because it's an overhead to keep opening and closing connections, particularly during a single page fetch
      •   An object is a singleton if the application can include one and only one of that object at a time
  • 5.
      • Model-View-Controller, this is the most commonly used design pattern
      • This patterns separates the business logic and presentation logic in such a way that any changes in the presentation logic should not interfere with the business logic and vice-versa
      • This is done with the help of a middle object called controller whose job is to take the request from the view pass it on the model
      • if required present the updated/new view to the user.
    MVC Pattern ...
  • 6.
      • Factory Method is a object oriented creational pattern
      • The method is used to create and initiate objects for classes
      • Use of factories gives the programmer the opportunity to abstract the specific attributes of an Object into specific subclasses which create them
      • i.e. it defines an interface for creating an object, but let the subclasses decide which class to instantiate.
    Factory Pattern ...
  • 7.
      • Observer pattern allows one object (the observer) to watch another (the subject)
      • The subject object notify the observer object if the subject’s state changes (Conceptually, the Observer pattern in something like a trigger in a database, which runs a stored procedure when a table row is modified
      • The main advantage of this pattern is that it decouples the observer from the subject
      • The subject doesn’t need to know anything special about its observers. Instead, the subject simply allows observers to subscribe.
    Observer Pattern ...
  • 8.
      • Design patterns have two major benefits.
        • First, they provide you with a way to solve issues related to software development using a proven solution. The solution facilitates the development of highly cohesive modules with minimal coupling
        • Second, design patterns make communication between designers more efficient. Software professionals can immediately picture the high-level design in their heads when they refer the name of the pattern used to solve a particular issue when discussing system design.
    Benefits of Design Patterns ...
  • 9. Conclusion ...
      • There are many other reational/structural/ behavioral patterns, like Iterator, Adapter, Prototype, State etc. 
      • But in order to implement a pattern effectively a detailed study is done at our end here at Mobicules Systems to understand the nature of the problem and how a particular design pattern solves it.
  • 10.
    • We can do the following for your app:
      • Conceptualize, or participate in the process
      • Design it, incorporating top notch ease of use
      • Architect it to be future ready
      • Develop it fast, using the best solution available
      • Maintain it efficiently
      • Scale it to a huge user base
  • 11.
    • We offer services in the areas of:
      • Social Networks and Platforms Development
      • Symfony apps Development: Social Networks, Travel Sites, CRM systems etc
      • Drupal apps Development: Social Networks, Brochure sites etc
      • Facebook and OpenSocial apps Development
      • Mobile apps Development – iPhone, Android, J2ME, Blackberry, WinMo
  • 12. Contact Us Development Center: B-35, First Floor, Sector-57, Noida-201301 (INDIA) Phone: +91-9873778077, +91-1204358187+1-213-291-1527 E-mail: [email_address]