Facade Pattern - Java

Facade Pattern là gì?

Facade pattern là một dạng design pattern thuộc nhóm cấu trúc. Nó cung cấp 1 interface để dùng chung cho các service phức tạp và ẩn đi những logic lằng nhằng ở các service con.

Khi nào chúng ta dùng Facade Pattern?

Đơn giản là khi chúng ta có quá nhiều logic phức tạp => việc sử dụng các lớp business logic trở nên khó khăn và đôi khi người dùng không biết cần phải gọi những phương thức nào. Lúc này chúng ta cần 1 interface để wrap tất cả các logic phức tạp đó và export ra cho người những phương thức đơn giản để sử dụng.

Cấu trúc

Thay vì người dùng gọi trực tiếp các phương thức từ sub-system thì nay sẽ gọi thông qua facade interface.

Ví dụ Facade Pattern trong Java

Chúng ta giả sử rằng cái service phức tạp ở đây là các lớp Rectangle, Circle và Square. Thay vì gọi trực tiếp hàm draw tại cái lớp này thì chúng ta sẽ tạo ra một Facade service là ShapeMaker và gọi thông qua nó. Đầu tiên sẽ là interface Shape: Tiếp đó là các class Rectangle, Circle và Square: Và class Facade ShapeMaker: Cuối cùng là class demo:
Kết quả ouput sẽ như sau:

Source code sử dụng trong bài viết: https://github.com/luubi/design-patterns/tree/master/src/main/java/com/vlt/facade



Nguồn: Bài viết liên quan:

Bài viết liên quan


EmoticonEmoticon