What are they?
"The term Design Patterns can confuse you at first, or it can seem like something incredibly difficult. In fact it is nothing more than convenient ways of identifying, labelling and coding general solutions to recurring design problems.
So design patterns are nothing more than commonly occurring patterns in design that are repeatable and generalist enough to be written down and named as software design constructs that all can commonly identify and apply." (WikiBook: Computer Science Design Patterns)
Good information resources:
Dependency Injection
A simplified overview:Iterator pattern
"Iterator Pattern on wikipedia: a design pattern in which an iterator is used to traverse a container and access the container's elements. The iterator pattern decouples algorithms from containers; in some cases, algorithms are necessarily container-specific and thus cannot be decoupled"
Examples:
- Iterator implementations in various languages (the Java implementation uses a class that implements the Iterator interface);
- this article about inner classes implements the iterator pattern from ground (i.e. without using the Java Iterator interface);
Facade Pattern
a simple explanation could be: "One class has a method that performs a complex process calling several other classes."Examples:
this pattern is used to:
- prevent tight coupling;
- Provide a simple interface to a complex system;
- Shield clients from subsystem components;
- Promote reduced or weak coupling between subsystems and clients;
No comments:
Post a Comment