ActionScript 3.0 Design Patterns

(Chris Devlin) #1
129

Chapter 4
CHAPTER 4


Decorator Pattern 4


I try to decorate my imagination as much as I can.
—Franz Schubert
Pictures deface walls more often than they decorate
them.
—William Wordsworth (Poet and a guy who really
understood bandwidth)

What Is the Decorator Pattern?


The Decorator pattern wasn’t developed with a web designer or developer in mind,


but it could well have been. A few years back, we developed a web site and were cog-


nizant that periodically we’d have to update it. The design was set up so that substi-


tution of one element for an updated one was fairly simple, and it required no major


change in the code or structure. Because we didn’t have to update it too often, this


wasn’t much of a problem. However, had we needed to update elements or features


on a fairly regular basis, our design would have left a good deal to be desired.


Imagining situations where you need to update or change certain parts of a web site


on a regular basis isn’t difficult. If your client is a retailer with regular advertising


such as weekly specials and new products introduced periodically, you want to have


flexibility in your web design and structure. You may want to use features of your


basic structure that assure change is easily accommodated, but you don’t have to


alter the basic structure itself in any way.


The Decorator pattern addresses the issue of maintaining the structure while having


the ability to make changes by decorating the different components that make up the


application. The decorations are composed of descriptions and/or methods used to


wrap different objects in the application. As you will see, this design pattern allows


you to mi xand match all the different components and decorations to optimize fle xi-


bility and expandability, while core structure classes remain unaltered.

Free download pdf