Bridge Pattern - Java

Bridge Pattern là gì?

Bridge là cây cầu :D. Đây là pattern đóng vai trò như một cây cầu dùng để nối giữa lớp trừu tượng và lớp thực thi. Giúp ta tách biệt 2 lớp đối tượng này và phát triển chúng độc lập nhau.

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

Ví dụ chúng ta có 2 class là hình vuông và hình tròn, giờ chúng ta muốn vẽ 2 hình này với màu xanh và đỏ. Chúng ta phải tạo ra 4 tổ hợp subclass là hình vuông xanh, hình vuông đỏ, hình tròn xanh, hình tròn đỏ. Chuyện gì xảy ra nếu giờ chúng ta có thêm 1 hình chữ nhật hoặc có thêm màu vàng??? Việc tạo ra đống tổ hợp subclass như vậy đúng là một cực hình đúng nghĩa trong lập trình :(. Vậy để giải quyết bài toán trên, chúng ta có thể dùng bridge pattern để tách biệt chúng thành 2 lớp hình và màu.

Như vậy là từ nay việc thêm mới hình hay màu sẽ không bị lẫn lộn vào nhau và không ảnh hưởng gì tới nhau cả ;)

Cấu trúc

Cấu trúc bridge pattern sẽ bao gồm 2 interfaces. 1 interface bao bọc lớp trừu tượng và 1 interface bao bọc lớp thực thi

Ví dụ Bridge Pattern trong Java


Kết quả output 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/bridge



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

Bài viết liên quan


EmoticonEmoticon