View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 2 - Eliot Kim

Part 1

Design patterns as explained by Wikipedia are classified most commonly by the basic underlying problem they solve. Three of these classifications are creational, structural, and behavioral patterns.

Wikipedia states that creational design patterns are design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation. Creational design patterns allows the users to create objects without having implemention classes explicitly. Thus, making code simpler to design.

Wikipedia states that structural design patterns are design patterns that ease the design by identifying a simple way to realize relationships between entities. Structural design patterns allow programmers to ways to link objects and classes to create larger structures.

Finally, Wikipedia states that behavioral design patterns are design patterns that identify common communication patterns between objects and realize these patterns. Behavioral design patterns contain variations between behavior and assign responsibity to objects on how it will achieve a goal.

Basically, creational design patterns are used to create objects, behaviorial design patterns are used to assign how the object will behave, and structural objects are used to bring everything together.

Part 2

The bridge pattern is used to "decouple an abstraction from its implementation so that the two can vary independently" (Gamma et. al.). Basically, the bridge pattern separates abstraction from implementation. This pattern can have many benefits especially in group programming. The ability to separate abstraction from implementation allows separate members in the group to make changes to the program without knowing every detail about it. The abstraction part of the bridge pattern refers to the actual class itself, but the implementation part is what that class does. This is very beneficial to group projects because an implementation is not bound to a particular abstraction. Thus, changes can be made to some parts of the program without having to change the entire program as a whole.

Link to this Page