Facade Pattern là một mẫu design pattern trong lập trình Java.
Facade Pattern là gì
Facade Pattern được sử dụng để làm cho việc giao tiếp với hệ thống trở nên dễ dàng hơn đối với các ứng dụng client. Thay vì phải tương tác trực tiếp với nhiều hệ thống hoặc module con, Facade Pattern giúp ứng dụng client chỉ cần giao tiếp với một hệ thống duy nhất thông qua một giao diện đơn giản.
Ví dụ: Khi bạn đăng ký một tài khoản trực tuyến, bạn cần nhập thông tin như tên đăng nhập, email, địa chỉ và số điện thoại. Thay vì phải nhập thông tin này trên nhiều trang khác nhau, Facade Pattern cho phép bạn gộp tất cả thông tin này vào một màn hình đơn giản, và bạn chỉ cần tương tác với màn hình đó.
Facade Pattern UML Diagram
Bên dưới là một sơ đồ UML của Facade Pattern:
scss
+----------------+ +------------------+
| Client | | Facade |
+----------------+ +------------------+
| | | - subsystem1 |
| | | - subsystem2 |
| | | - subsystem3 |
| | | |
| | | + operation1() |
| | | + operation2() |
| | | + operation3() |
| | | |
+----------------+ +------------------+
Ví dụ về Facade Pattern
Giả sử bạn có một hệ thống cũ gồm các lớp Address, PhoneNumber, và Name, và bạn muốn quản lý thông tin này thông qua một lớp PersonFacade.
Các Lớp
java
public class Name {
// Các thuộc tính
// Các getter và setter
// ...
}
public class Address {
// Các thuộc tính
// Các getter và setter
// ...
}
public class PhoneNumber {
// Các thuộc tính
// Các getter và setter
// ...
}
public class PersonFacade {
private Name name;
private Address address;
private PhoneNumber phoneNumber;
// Các getter và setter cho name, address, phoneNumber
// Các phương thức khác để hiển thị và quản lý thông tin
// ...
}
Sử dụng Facade Pattern
java
public class MainApp {
public static void main(String[] args) {
PersonFacade person = new PersonFacade();
person.setInformation();
person.display();
}
}
Facade Pattern giúp gói gọn thông tin quản lý người vào một lớp PersonFacade, giúp cho việc giao tiếp và quản lý thông tin trở nên dễ dàng hơn cho ứng dụng client.