Beruflich Dokumente
Kultur Dokumente
armahmood786@yahoo.com alphasecure@gmail.com
alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net
pk.linkedin.com/in/armahmood http://alphapeeler.tumblr.com
www.twitter.com/alphapeeler armahmood786@jabber.org
www.facebook.com/alphapeeler alphapeeler@aim.com
abdulmahmood-sss alphasecure mahmood_cubix 48660186
armahmood786@hotmail.com alphapeeler@icloud.com
http://alphapeeler.sf.net/me http://alphapeeler.sf.net/acms/
Façade Design Pattern
Facade pattern hides the complexities of the system
and provides an interface to the client using which the
client can access the system.
This type of design pattern comes under structural
pattern as this pattern adds an interface to existing
system to hide its complexities.
This pattern involves a single class which provides
simplified methods required by client and delegates
calls to methods of existing system classes.
Implementation
We are going to create a Shape interface and concrete
classes implementing the Shape interface. A facade
class ShapeMaker is defined as a next step.
ShapeMaker class uses the concrete classes to delegate
user calls to these classes. FacadePatternDemo, our
demo class, will use ShapeMaker class to show the
results.
Step 1
Create an interface.
Shape.java
Rectangle.java
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("Rectangle::draw()"); }
}
Square.java
@Override
public void draw() {
System.out.println(“Square ::draw()"); }
}
Circle.java
@Override
public void draw() {
System.out.println(“Circle::draw()"); }
}
Step 3 public class ShapeMaker {
private Shape circle;
Create a facade class. private Shape rectangle;
private Shape square;
ShapeMaker.java
public ShapeMaker() {
circle = new Circle();
rectangle = new Rectangle();
square = new Square();
}
shapeMaker.drawCircle();
shapeMaker.drawRectangle();
shapeMaker.drawSquare();
}
}
Step 5
Verify the output.
Circle::draw()
Rectangle::draw()
Square::draw()