در این جلسه تیم کدگیت را با آموزش Facade پترن در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:
Structural Patterns
یکی از زیر شاخههای دیزاین پترن Structural Patterns است. Structural Patterns در مورد اشیا و کلاسها و چگونگی ترکیب آنها با یکدیگر صحبت میکند. برای مشخص کردن ارتباط اشیا و کلاسها با یکدیگر، این پترن ساختار سادهای را ایجاد میکند (البته بیشتر تمرکز این پترن بر روی شی گرایی است).
Facade پترن در جاوا
Facade پترن پیچیدگی سیستم را پنهان کرده و یک رابطی را برای دسترسی کلاینت ایجاد میکند. مهمترین ویژگی این پترن ایجاد رابط است. Facade پترن یکی از شاخههای Structural Pattern است.
کد Facade پترن در جاوا
یک interface به نام Shape داریم که سه کلاس Square و Circle و Rectangle از آن استفاده میکنند. برای استفاده از این سه ما یک کلاس به نام ShapeMaker ساختیم. کلاس ShapeMaker برای ما همان رابط است. این کلاس برای ما سه کلاس Circle و Rectangle و Square را ایجاد میکند بدون آن که ما از جزییات آنها با خبر باشیم. کد کلاسهای گفته شده به صورت زیر است:
public interface Shape {
void draw();
}
public class Circle implements Shape {
@Override
public void draw() {
System.out.println("Circle::draw()");
}
}
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("Rectangle::draw()");
}
}
public class Square implements Shape {
@Override
public void draw() {
System.out.println("Square::draw()");
}
}
public class ShapeMaker {
private Shape circle;
private Shape rectangle;
private Shape square;
public ShapeMaker() {
circle = new Circle();
rectangle = new Rectangle();
square = new Square();
}
public void drawCircle() {
circle.draw();
}
public void drawRectangle() {
rectangle.draw();
}
public void drawSquare() {
square.draw();
}
}
تست Facade پترن در جاوا
برای تست کدهای بالا،کد Main زیر را بزنید:
public class FacadePatternDemo {
public static void main(String[] args) {
ShapeMaker shapeMaker = new ShapeMaker();
shapeMaker.drawCircle();
shapeMaker.drawRectangle();
shapeMaker.drawSquare();
}
}