Facade pattern là gì

1. Facade Pattern là gì?

Facade Pattern là 1 trong những chủng loại cấu tạo (Structural Pattern).

Bạn đang xem: Facade pattern là gì

Facade Pattern được dùng làm các ứng dụng phía client thuận lợi giao tiếp với khối hệ thống. Txuất xắc vày cần làm việc với khá nhiều hệ thống/module con, Facade Pattern giúp vận dụng client chỉ đề xuất giao tiếp với 1 hệ thống duy nhất.

Ví dụ: Trên screen ĐK, ta nhập ban bố nlỗi username, email… kế tiếp quý phái màn hình hiển thị tiếp sau nhập liên hệ (quận/thị trấn, phường/buôn bản, đường, số nhà…) rồi lịch sự màn hình tiếp nhằm nhập các công bố liên lạc như số điện thoại…

Rõ ràng client sẽ đề nghị tốn các thời hạn cùng thao tác làm việc không thân mật. Với Facade Pattern, ta gộp vớ các công bố đó vào một trong những screen, cùng client chỉ việc giao tiếp với màn hình kia thôi.

Xem thêm: Câu Nói Hot Trend " Chào Em Anh Đứng Đây Từ Chiều Là Gì ? ™️Thuatngu

2. Facade Pattern UML Diagram.

Xem thêm: Tại Sao Phải Khổ Sở Kiếm Tiền? Đây Chính Là Câu Trả Lời Chuẩn Xác, Đáng Ngẫm Nhất!

*

3. Ví dụ

Ta có một hệ thống cũ cùng với các thông báo về người như Address, PhoneNumber, Name. Ta ý muốn quản ngại lí những đọc tin bên trên bằng phương pháp gây ra 1 lớp PersonFacade tận dụng tối đa lại những lớp ở trên.

*

Code ví dụ:

Name.java

public class Name String firstName; String middleName; String lastName; public Name() public Name(String firstName, String middleName, String lastName) this.firstName = firstName; this.middleName = middleName; this.lastName = lastName; public String getFirstName() return firstName; public void setFirstName(String firstName) this.firstName = firstName; public String getMiddleName() return middleName; public void setMiddleName(String middleName) this.middleName = middleName; public String getLastName() return lastName; public void setLastName(String lastName) this.lastName = lastName; public void display() System.out.println("Name: " + this.firstName + " " + this.middleName + " " + this.lastName); Address.java

public class Address String city; String street; String country; public Address() public Address(String đô thị, String street, String country) this.city = city; this.street = street; this.country = country; public String getCity() return city; public void setCity(String city) this.thành phố = city; public String getStreet() return street; public void setStreet(String street) this.street = street; public String getCountry() return country; public void setCountry(String country) this.country = country; public void display() System.out.println("Address: " + this.street + " - " + this.đô thị + " - " + this.country); PhoneNumber.java

public class PhoneNumber String phoneNumber; String postalCode; public PhoneNumber() public PhoneNumber(String phoneNumber, String postalCode) this.phoneNumber = phoneNumber; this.postalCode = postalCode; public String getPhoneNumber() return phoneNumber; public void setPhoneNumber(String phoneNumber) this.phoneNumber = phoneNumber; public String getPostalCode() return postalCode; public void setPostalCode(String postalCode) this.postalCode = postalCode; public void display() System.out.println("PhoneNumber: " + this.postalCode + " " + this.phoneNumber); PersonFacade.java

public class PersonFacade Name name; Address address; PhoneNumber phoneNumber; public PersonFacade() public PersonFacade(Name name, Address address, PhoneNumber phoneNumber) this.name = name; this.address = address; this.phoneNumber = phoneNumber; public Name getName() return name; public void setName(Name name) this.name = name; public Address getAddress() return address; public void setAddress(Address address) this.address = address; public PhoneNumber getPhoneNumber() return phoneNumber; public void setPhoneNumber(PhoneNumber phoneNumber) this.phoneNumber = phoneNumber; public void display() this.name.display(); this.address.display(); this.phoneNumber.display(); System.out.println("-------------------------------------------"); public void setInformation() Scanner scanner = new Scanner(System.in); System.out.print("nhap duong: "); String street = scanner.nextLine(); System.out.print("nhap tkhô nóng pho: "); String đô thị = scanner.nextLine(); System.out.print("nhap quoc gia: "); String country = scanner.nextLine(); System.out.print("nhap so dien thoai: "); String number = scanner.nextLine(); System.out.print("nhap ma vung: "); String postalCode = scanner.nextLine(); System.out.print("nhap ho: "); String firstName = scanner.nextLine(); System.out.print("nhap ten dem: "); String middleName = scanner.nextLine(); System.out.print("nhap ten: "); String lastName = scanner.nextLine(); this.address = new Address(thành phố, street, country); this.name = new Name(firstName, middleName, lastName); this.phoneNumber = new PhoneNumber(number, postalCode); scanner.close(); Demo:public class MainApp public static void main(String<> args) PersonFacade person = new PersonFacade(); person.setInformation(); person.display(); Kết quả:

nhap duong: Nguyen Trainhap thanh pho: Ha Noinhap quoc gia: Viet Namnhap so dien thoai: 01666666666nhap ma vung: 1000nhap ho: Trannhap ten dem: Vannhap ten: AnName: Tran Van AnAddress: Nguyen Trai - Ha Noi - Viet NamPhoneNumber: 1000 01666666666-------------------------------------------

Okay, Done!


Chuyên mục: Hỏi Đáp