Design Patterns

     

Thursday 24 February

 
10:05 - 11:00 Design Block

Lecture 2

Design Patterns

Ruben Leivas  Ledo

Brice Copy

Using design patterns is a widely accepted method to improve software development. There are many benefits of the application of patterns claimed in the literature. The most cited claim is that design patterns can provide a common design vocabulary and therefore improve greatly communication between software designers. Most of the claims are supported by experiences reports of practitioners, but there is a lack of quantitative research concerning the actual application of design patterns and about the realization of the claimed benefits. We will explore this information to gain an insight into the differences of software development with and without design patters.

Part 1 by  Ruben Leivas  Ledo

1. Why patterns?
2. Group of Four Taxonomy of Design Patterns

  • Creational Patterns

  • Structural Pattern

  • Behavioral Patterns

3. Classification of Design Patterns

  • What a pattern does (its purpose)

  • What a pattern applies to (its scope)

4. Elements of Design Patters

  • Name

  • Problem

  • Solution

  • Consequences

5. Some interesting examples applied to the real life of programmers

6.- Implementing Design Patterns as Declarative Code Generators

7.- Patterns for Java and Distributed Computing

Part 2: Important Enterprise Patterns by Brice Copy

8.- MVC in Web applications (Struts, Spring MVC)

9.- Inversion of Control, Dependency Injection (Spring)