Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design Patterns: Elements of Reusable Object- Orientated Software Gamma, Helm, Johnson, Vlissides Presented By: David Williams.

Similar presentations


Presentation on theme: "Design Patterns: Elements of Reusable Object- Orientated Software Gamma, Helm, Johnson, Vlissides Presented By: David Williams."— Presentation transcript:

1 Design Patterns: Elements of Reusable Object- Orientated Software Gamma, Helm, Johnson, Vlissides Presented By: David Williams

2 What is a Design Pattern? Created by Christopher Alexander Abstracts the key aspects of a common design structure MVC is an early example of design pattern use

3 Why Use Design Patterns? Gives developers a common language to use to discuss software design Helps: – Determine object granularity – Specify object interfaces – Specify object implementation – Encourage reuse

4 Motivations Behind Patterns Classes are not types Class vs. interface inheritance Program to an interface, not an implementation

5 How do Patterns Encourage Reuse? Inheritance vs. composition – White-box reuse vs. black-box reuse – Open-Closed Principle Inheritance vs. parameterized types Delegation

6 Designing For Change Don’t: Create an object by specifying its class Depend on specific operations Depend on object implementations Depend on a specific algorithm Extend functionality by subclassing

7 Conclusion Using design patterns can: Facilitate communication and understanding within a development team Increase the reuse of software Allow for software to be more easily modified


Download ppt "Design Patterns: Elements of Reusable Object- Orientated Software Gamma, Helm, Johnson, Vlissides Presented By: David Williams."

Similar presentations


Ads by Google