29 Nov
Web design is the creation of digital environments that facilitate and encourage human activity; reflect or adapt to individual voices and content; and change gracefully over time while always retaining their identity.
From A List Apart.
29 Nov
Design Patterns - Abstract Factory PDF download
The Abstract Factory Design Pattern "provide[s] an interface for creating families of related or dependent objects without specifying their concrete classes." Sounds complicated, but is easier to understand with an example:
The controls on a skinnable program can be either red or black. The Abstract Factory provides the right controls to the rest of the code like so:
This means that the other classes in the code don't have to worry about the skinning of the controls, all they have to do is ask the Abstract Factory instance to provide the right kind of control and they get a fully skinned and customized control.
29 Nov
Design Patterns - Decorator PDF download
The Decorator Design Pattern adds functionality or features to an object dynamically. It's interface conforms to that of the component it is decorating which allows an unlimited, transparent nesting.
29 Nov
Design Patterns - Composite PDF download
This is the first of the Design Patterns.
The intent of the Composite Design Pattern is to let clients treat individual objects and compositions of objects uniformly in a tree-hierarchy. This is accomplished through an abstract class that defines an identical interface for both primitives and their containers. The client then does not need to know if the object it is currently accessing is a single primitive or a collection of same. This allows objects to be nested almost endlessly....
29 Nov
Design Patterns - How They Solve Problems PDF download
Strict modeling of the real world leads to a system that reflects today’s realities but not necessarily tomorrow’s.
One very important aspect of design patterns is the interface. An object's interface everything that is "visible to the outside" (name, variables, functions, parameters, return values).
Objects are only known through their interfaces.
Two objects having completely different implementations can have identical interfaces.
These two statements are key to understanding Design Patterns.
Another key statement is "design for change!"