java4all@1986 java. Powered by Blogger.

What is meant by Composite Design Pattern?

>> Friday, May 27, 2011

COMPOSITE:
           Build a complex object out of elemental objects and itself like a tree structure.

 

Where to use & benefits


  • Want to represent a part-whole relationship like tree folder system
  • Group components to form larger components, which in turn can be grouped to form still larger components.
  • Related patterns include 

Example

A component has many elements and itself which has many elements and itself, etc. A file system is a typical example. Directory is a composite pattern. When you deal with Directory object, if isFile() returns true, work on file, if isDirectory() returns true, work on Directory object.
class Directory {
   Directory dir;
   File[] f;
   ...
   
   boolean isDirectory() {
       return f == null;
   }
   boolean isFile() {
       return f != null;
   }
   File getFile(int i) {
      if (isFile())
         return f[i];
      return null'
   }
   Directory getDirectory() {
      if (isDirectory())
          return dir;
      return null;
   }
   ....
}

0 comments:

Post a Comment

FaceBook Login

HTML/JAVASCRIPT

HTML/JAVASCRIPT

HTML/JAVASCRIPT

HTML/JAVASCRIPT

Total Pageviews

STATCOUNTER

  © Blogger template Simple n' Sweet by Ourblogtemplates.com 2009

Back to TOP