Patterns For Software Design

This blog will focus on reflecting on how l have understood my patterns lectures and any other reading material

Wednesday, April 12, 2006

Patterns Catalogue Lecture Review

In order for me to understand the vocabulary used in patterns and be able to relate to it instantly , using the general dictionary definitions first has made it a lot easier .

Catalogue Definition

A complete usually alphabetical list of items ,often with a note giving details e.g. Departmental or clothing stores such as Next have a clothing catalogue which show pictures of various items , gives a brief description of the product such as prices and sizes.

Software Design Catalogue

The pattern catalogue shows the number of patterns there are in the book the names and the category that they are classified under .There are 23 software design patterns and they are classified under three categories .The following table shows the different patterns and the categories they are classified under .

Creational Patterns
1. Abstract Factory
2. Builder
3. Factory Method
4. Prototype
5. Singleton

Structural Patterns

6. Adapter
7. Bridge
8. Composite
9. Decorator
10. Façade
11. Flyweight
12. Proxy
Behavioral Patterns

13. Chain Responsibility
14. Command
15. Interpreter
16. Iterator
17. Mediator
18. Memento
19. Observer
20. State
21. Strategy
22.Template Method
23.Visitor


How to Use A Pattern Catalogue (As illustrated by Alexander Christopher)

The following is an example by Alexander Christopher of how to use patterns in the real world . The example used by Alexander looks at how to build a porch applying a combination of different patterns to come up with the best porch . The number of different patterns used or in cooperated to build a porch as illustrated in (The Timeless Way of Building ) by Alexander Christopher clearly shows that a design problem does not always have an accurate solution, but a guide of solving it .


In relation to software development the above example shows that when developing a solution to a problem one design pattern may not solve the entire problem or scenario but it could be used in conjunction with other patterns to produce a the final solution ,though the patterns have to be arranged in a particular sequence and have relationships created that will enable communication between object and classes and solve problem.

Using a Pattern Language (Task by Jane Chandler)

The task which was assigned to us was meant to show us how to use and reference the pattern catalogue , it required us to build a student residential hall using the patterns in Alexander Christopher book (The Timeless Way of Building ).

1. Write Up A paragraph describing the requirements of a small Student Hall of residence .

2.Thinking about the design of the student hall of residence work through Alexander’s instructions on choosing patterns (attached )using his pattern catalogue.

Task 1

A small student hall of residence should have a number of 3 or 4 storey apartments which would house the students and a main entrance or reception as the main access to the hall for security reasons. A dining hall is essential where the students can have all their main meals . A garden would be an essential outdoor space for relaxing .Cycling and pedestrian paths should be networked to allow easy access to the different parts of the building . Finally the student hall should be built in an area that has a good network of public transport to allow students travel to and from college with much ease .

Though the above requirements are summarised they can be further simplified to look at specific details such as bathrooms , lighting of the rooms and storage shelves . The patterns shown in Task 2 below are the one’s my group identified as essential when building the Student Hall of Residence.

Task 2

Pattern Number Pattern Name

16. WEB OF PUBLIC TRANSACTION
21. FOUR STOREY LIMIT
30. ACTIVITY NODES
33. NIGHT LIFE
56. BIKE PATHS AND RACKS
69. PUBLIC OUTDOOR ROOM
88. STREET CAFÉ
89. CORNER GROCERY
92. BUS STOP
103. SMALL PARKING LOTS
106. POSITIVE OUTDOOR SPACE
110. MAIN ENTRANCE
147. COMMUNAL EATING
200. OPEN SHELVES

NB: The next posting will be on how useful are patterns in the development of
software

0 Comments:

Post a Comment

<< Home