SUMMARY OF STRUCTURAL PATTERNS
In this chapter we have seen the
· The Adapter pattern, used to change the interface of one class to that of
another one.
· The Bridge pattern, intended to keep the interface to your client program
constant while allowing you to change the actual kind of class you
display or use. You can then change the interface and the underlying class
separately.
· The Composite pattern, a collection of objects, any one of which may be
either itself a Composite, or just a primitive object.
· The Decorator pattern, a class that surrounds a given class, adds new
capabilities to it, and passes all the unchanged methods to the underlying
class.
· The Façade pattern, which groups a complex object hierarchy and
provides a new, simpler interface to access those data.
· The Flyweight pattern, which provides a way to limit the proliferation of
small, similar class instances by moving some of the class data outside
the class and passing it in during various execution methods.
· The Proxy pattern, which provides a simple place-holder class for a more
complex class which is expensive to instantiate.
Behavioral Patterns
Behavioral patterns are those patterns that are most specifically
concerned with communication between objects. In this chapter, we’ll see
that:
· The Observer pattern defines the way a number of classes can be notified
of a change,
· The Mediator defines how communication between classes can be
simplified by using another class to keep all classes from having to know
about each other.
· The Chain of Responsibility allows an even further decoupling between
classes, by passing a request between classes until it is recognized.
· The Template pattern provides an abstract definition of an algorithm, and
· The Interpreter provides a definition of how to include language elements
in a program.
· The Strategy pattern encapsulates an algorithm inside a class,
· The Visitor pattern adds function to a class,
· The State pattern provides a memory for a class’s instance variables.
· The Command pattern provides a simple way to separate execution of a
command from the interface environment that produced it, and
· The Iterator pattern formalizes the way we move through a list of data
within a class.
I’m glad that after surfing the web for uch a long time I have found out this information. I’m really lucky.
I bookmarked this link. Thank you for good job!
Great post Jon! I have been following the #p2 effort since you started it, and although I have understood its purpose this post does a really great job solidifying the full rationale.
ohhohoho~~ it’s very bombardning best.
nice job men:)
Great site. Keep doing
It is the coolest site, keep so
Awesome!
Thx
thank you soooooo much for this