design pattern, java, جاوا, دیزاین پترن

Facade پترن در جاوا (Design Pattern)

Facade پترن در جاوا

در این جلسه تیم کدگیت را با آموزش Facade پترن در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. شی گرایی در جاوا
  2. ارث بری در جاوا
  3. متد در جاوا
  4. Interface در جاوا
  5. Constructor در جاوا

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();
     }
}

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *