Presentation is loading. Please wait.

Presentation is loading. Please wait.

Beta Release Retrospective

Similar presentations


Presentation on theme: "Beta Release Retrospective"— Presentation transcript:

1 Beta Release Retrospective
Legend: OS = OpEnSpaCe TF = TeamForge Beta Release Retrospective Sustain: Improve: 03 Aug 2006 CSE403, Summer'06 Valentin Razmov

2 Lecture 16: Design Patterns
In 1977, architect Christopher Alexander wrote a book that would be come a seminal work quite outside his own field: the design of software systems. Let’s see how the concepts in this book about physical architecture apply to software architecture nearly thirty years after its publication. Viewing problems and solutions in context Lincoln Ritter 3 August, 2006

3 Thinking of Solutions Student Submission Lincoln Ritter 3 August, 2006
Let’s start with an architectural problem to be solved: I have house that has two levels. Unfortunately, I have no way to get between the two levels. It would be nice to have simple way to join the two levels of my house together so as to facilitate easy transit between the two. Can you suggest a solution to this problem? Ok, so one solution to this problem is a stairway. Why might we come up with that? Lincoln Ritter 3 August, 2006

4 Thinking of Problems Student Submission Lincoln Ritter 3 August, 2006
I don’t think that it’d crazy to suggest a stairway as a solution to this problem. How about looking at this from another angle Lincoln Ritter 3 August, 2006

5 An Architectural Pattern
Ok, here we see two examples of a staircase. Lincoln Ritter 3 August, 2006

6 Design Patterns Defined
“Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice” – Alexander, et al., A Pattern Language. Oxford University Press, 1977 Architect Christopher Alexander in his amazing book “A Pattern Language” wrote about effective solutions to common architectural problems. Lincoln Ritter 3 August, 2006

7 Pattern Principles Encapsulate variance Abstract the invariant
Favor composition Lincoln Ritter 3 August, 2006

8 Design Patterns Designed
Pattern Name Intent Problem/Motivation Solution Participants & Collaborators Consequences Implementation Lincoln Ritter 3 August, 2006

9 Strategy Intent: Encapsulate each of a family of behaviors such that the use of the behaviors varies independently of the client. Motivation: Remember the animals… Lincoln Ritter 3 August, 2006

10 Strategy: Structure Lincoln Ritter 3 August, 2006

11 Null Object Intent: Provide an object as a surrogate for the lack of an object of a given type. Motivation: Sometimes the correct behavior is to do nothing. However, collaborators should be able to treat “non-behaviors” and behaviors uniformly. Lincoln Ritter 3 August, 2006

12 Null Object: Structure
Lincoln Ritter 3 August, 2006

13 Command Intent: Encapsulate a request or action as an object.
Motivation: Sometimes we need to issue commands without knowledge of the specifics of any command – a menu is a good example. Lincoln Ritter 3 August, 2006


Download ppt "Beta Release Retrospective"

Similar presentations


Ads by Google