CSC/ECE 517 Fall 2009/wiki3 ksm 6: Difference between revisions
No edit summary |
|||
Line 7: | Line 7: | ||
='''Overview'''= | ='''Overview'''= | ||
In this article,we are going to discuss about Factory method Pattern. We will first look at the objectives of | In this article,we are going to discuss about Factory method Pattern. We will first look at the objectives of Creational patterns. Then we will have a look at different Creational patterns. We will try to find out how and why the Factory Method Pattern has an edge over other Creational patterns. How Factory method design pattern is implemented in some Object Oriented languages. Finally we will discuss about the uses as well as the contribution of Factory pattern in providing an elegant solution to a problem. | ||
='''Features'''= | ='''Features'''= | ||
The Gang of Four describes the Factories as creational patterns | The Gang of Four describes the Factories as [http://www.exforsys.com/tutorials/csharp/creational-design-patterns.html Creational patterns]. The Creational patterns are used in the creation of objects requiring to make decisions. They help us in encapsulating dynamic decisions regarding the instantiation of a class or the delegation of responsibilty to objects. Sometimes we have to make a choice when we can use more than one creational pattern to a situation. While at times, we can combine multiple patterns simultaneously so that we can use them in our own advantage. Their general classification is: | ||
*Abstract Factory Pattern | *Abstract Factory Pattern - It is used in creation of different objects by objects without knowing the classes of objects being created. It is very helpful in working with different complex external entities like (different windowing systems) with similar functionality. | ||
For Example: | |||
We have to create a user interface framework that can be used to work on top of multiple operating systems. This is done using an abstract class for each type of [http://en.wikipedia.org/wiki/Widget widget] and then write a concrete subclass for each class (for each supported platform). | |||
*The | *The Builder Pattern - It is used in determining the class of an object . | ||
*The | *The Factory Method Pattern - It is a way by which an object can start the creation of other objects without knowing about their classes. | ||
*The Singleton Pattern | *The Prototype Pattern - This Pattern is used in creation of customized objects by an object without knowing their class or the details about their creation. | ||
*The Singleton Pattern - It is used in sharing of a common object by multiple objects without even knowing if it already exists. | |||
These general classifications are based on three broad classifications: | These general classifications are based on three broad classifications: | ||
Line 30: | Line 33: | ||
*Factory Pattern - used in the creation of objects. | *Factory Pattern - used in the creation of objects. | ||
='''Uses'''= | ='''Uses'''= | ||
Line 45: | Line 51: | ||
Design Patterns Explained: A New Perspective on Object-Oriented Design, Second Edition ,By: Alan Shalloway; James R. Trott. | *Design Patterns Explained: A New Perspective on Object-Oriented Design, Second Edition ,By: Alan Shalloway; James R. Trott. | ||
ISBN-978-0-321-24714-8 | ISBN-978-0-321-24714-8 | ||
*Design Patterns In Java |
Revision as of 06:29, 18 November 2009
The Factory Design Pattern And Its Application
Introduction
A programmer, at the time of designing, usually is concerned about their behavior. But other aspects such as the availability of a particular object at the time when it is required also need to be considered. The rules of creation should be followed. Sometimes, the developers intermix the management of object creation with object instantiation. Using same code for object creation as well as object instantiation, can lead to complexity of code. It has to keep a track of object creation, construction parameters, as well as the use of those objects after creation. This leads to several consequences such as reducing coupling as well as selection of an instantiation scheme early. To address these issues, Factories are used which help to keep the objects cohesive, testable and decoupled. The design becomes flexible and the problem can be split into chunks of manageable pieces.
Overview
In this article,we are going to discuss about Factory method Pattern. We will first look at the objectives of Creational patterns. Then we will have a look at different Creational patterns. We will try to find out how and why the Factory Method Pattern has an edge over other Creational patterns. How Factory method design pattern is implemented in some Object Oriented languages. Finally we will discuss about the uses as well as the contribution of Factory pattern in providing an elegant solution to a problem.
Features
The Gang of Four describes the Factories as Creational patterns. The Creational patterns are used in the creation of objects requiring to make decisions. They help us in encapsulating dynamic decisions regarding the instantiation of a class or the delegation of responsibilty to objects. Sometimes we have to make a choice when we can use more than one creational pattern to a situation. While at times, we can combine multiple patterns simultaneously so that we can use them in our own advantage. Their general classification is:
- Abstract Factory Pattern - It is used in creation of different objects by objects without knowing the classes of objects being created. It is very helpful in working with different complex external entities like (different windowing systems) with similar functionality.
For Example: We have to create a user interface framework that can be used to work on top of multiple operating systems. This is done using an abstract class for each type of widget and then write a concrete subclass for each class (for each supported platform).
- The Builder Pattern - It is used in determining the class of an object .
- The Factory Method Pattern - It is a way by which an object can start the creation of other objects without knowing about their classes.
- The Prototype Pattern - This Pattern is used in creation of customized objects by an object without knowing their class or the details about their creation.
- The Singleton Pattern - It is used in sharing of a common object by multiple objects without even knowing if it already exists.
These general classifications are based on three broad classifications:
- Behavioral Pattern - used to contain variation of behavior.
- Structural Pattern - used to integrate an existing code into new object-oriented design.
- Factory Pattern - used in the creation of objects.
Uses
Links
[Factory method design pattern wikipedia]
[Advantages of Factory method]
[[ http://gsraj.tripod.com/design/creational/factory/factory.html]]
Referances
- Design Patterns Explained: A New Perspective on Object-Oriented Design, Second Edition ,By: Alan Shalloway; James R. Trott.
ISBN-978-0-321-24714-8
- Design Patterns In Java