Bridge pattern là gì

Một thành phần nằm trong OOPhường thông thường sẽ có 2 phần: Phần trừu tượng (abstraction) khái niệm những tính năng cùng phần thực thi (implementation) các chức năng được tư tưởng vào phần trừu tượng. Hai phần này tương tác cùng nhau thông qua quan hệ nam nữ kế thừa. Những đổi khác vào phần trừu tượng dẫn đến các thay đổi vào phần triển khai.

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

Bridge Pattern được sử dụng để bóc tách nhân tố trừu tượng (abstraction) với yếu tố triển khai (implementation) đơn lẻ. Do kia, các yếu tắc này có thể biến hóa một bí quyết hòa bình nhưng ko tác động mang đến các yếu tắc không giống. Tgiỏi vị tương tác cùng nhau bằng quan hệ giới tính thừa kế, hai yếu tắc này tương tác với nhau thông qua quan hệ “chứa trong” (object composition).


Nội dung


Bridge Pattern là gì?

Decouple an abstraction from its implementation so that the two can vary independently.

Bridge Pattern là một trong những Pattern trực thuộc đội cấu tạo (Structural Pattern). Ý tưởng của chính nó là tách tính trừu tượng (abstraction) thoát khỏi tính hiện thực (implementation) của chính nó. Từ kia có thể thuận tiện chỉnh sửa hoặc thay thế cơ mà ko làm cho ảnh hưởng đến những chỗ gồm áp dụng lớp thuở đầu.

Điều kia Tức là, thuở đầu chúng ta xây dựng một class với rất nhiều xử trí, hiện thời họ không muốn nhằm đa số cách xử lý đó trong class đó nữa. Vì thay, họ sẽ tạo nên ra một class khác cùng move những xử lý đó qua class bắt đầu. Lúc kia, trong lớp cũ sẽ giữ lại được một đối tượng trực thuộc về lớp bắt đầu, cùng đối tượng người tiêu dùng này vẫn chịu đựng trách nát nhiệm xử trí cố đến lớp ban đầu.

Bridge Pattern tương đối giống cùng với mẫu Adapter Pattern tại phần là sẽ nhờ vào trong 1 lớp không giống nhằm thực hiện một số trong những cách xử trí như thế nào kia. Tuy nhiên, ý nghĩa cùng mục đích áp dụng của nhì chủng loại thiết kế này hoàn toàn không giống nhau:

Adapter Pattern tốt có cách gọi khác là Wrapper pattern được dùng để làm thay đổi một class/ interface sang 1 dạng không giống rất có thể áp dụng được. Adapter Pattern góp những lớp không tương xứng chuyển động cùng cả nhà cơ mà thông thường là quan yếu.Bridge Pattern được sử dụng được sử dụng để tách yếu tắc trừu tượng (abstraction) với yếu tắc tiến hành (implementation) đơn lẻ.

Xem thêm: Tổ Chức Tín Dụng Tiếng Anh Là Gì ? Trách Nhiệm Của Tổ Chức Tín Dụng

Adapter Pattern tạo cho các thiết bị có thể hoạt động cùng nhau sau khoản thời gian chúng đã được thiết kế (đã tồn tại). Bridge Pattern cần có thiết kế trước lúc phát triển hệ thống nhằm Abstraction với Implementation rất có thể tiến hành một cách chủ quyền.

Cài đặt Bridge Pattern như thế nào?

*
*

Với cấu trúc mới những điều đó, lúc gồm thêm 1 loại thông tin tài khoản mới, chúng ta 1-1 chỉ vấn đề thêm vào một implement bắt đầu mang đến Account, các yếu tố không giống của Bank không trở nên tác động. Hoặc đề nghị thêm một ngân hàng bắt đầu, chẳng hạn VietinBank bọn họ chỉ cần thêm implement new mang lại Bank, các yếu tắc không giống cũng không trở nên ảnh hưởng với con số class chỉ tăng lên 1.

Code đến chương trên như sau:

Account:

public interface Account void openAccount();CheckingAccount:

public class CheckingAccount implements Account
Overridepublic void openAccount() System.out.println("Checking Account");SavingAccount:

public class SavingAccount implements Account
Overridepublic void openAccount() System.out.println("Saving Account");Bank:

public abstract class Bank protected Account account;public Bank(Account account) this.tài khoản = account;public abstract void openAccount();VietcomBank:

public class VietcomBank extends Bank public VietcomBank(Account account) super(account);
Overridepublic void openAccount() System.out.print("xuất hiện your trương mục at VietcomBank is a ");tài khoản.openAccount();TPBank:

public class TPBank extends Bank public TPBank(Account account) super(account);
Overridepublic void openAccount() System.out.print("Open your trương mục at TPBank is a ");tài khoản.openAccount();Client:

public class Client public static void main(String<> args) Bank vietcomBank = new VietcomBank(new CheckingAccount());vietcomBank.openAccount();Bank tpBank = new TPBank(new CheckingAccount());tpBank.openAccount();Output của công tác trên:

Open your tài khoản at VietcomBank is a Checking Accountxuất hiện your trương mục at TPBank is a Checking Account

Lợi ích của Bridge Pattern là gì?

Giảm sự phục ở trong giữa abstraction cùng implementation (loose coupling): tính thừa kế trong OOPhường thường xuyên đính thêm chặt abstraction với implementation dịp build chương trình. Bridge Pattern rất có thể được dùng để làm cắt đứt sự dựa vào này và có thể chấp nhận được họ chọn implementation phù hợp thời điểm runtime.Giảm con số đều lớp con ko phải thiết: một số ngôi trường thích hợp áp dụng tính inheritance sẽ tăng số lượng subclass rất nhiều. Ví dụ: trường hợp chương trình view hình ảnh bên trên những hệ quản lý và điều hành khác nhau, ta bao gồm 6 mô hình (JPG, PNG, GIF, BMP., JPEG, TIFF) với 3 hệ điều hành (Window, MacOS, Ubuntu). Sử dụng inheritance trong ngôi trường hợp này sẽ có tác dụng ta kiến thiết 18 lớp: JpgWindow, PngWindow, GifWindow, …. Trong lúc vận dụng Bridge đang bớt con số lớp xuống 9 lớp: 6 lớp ứng với từng implement của Image với 3 lớp ứng cùng với từng hệ quản lý điều hành, mỗi hệ điều hành quản lý đã bao gồm một tđắm say chiếu đến đối tượng người sử dụng Image ví dụ.Code vẫn gọn dở người hơn cùng size áp dụng sẽ bé dại hơn: do bớt được số class ko cần thiết.Dễ gia hạn hơn: các Abstraction với Implementation của nó sẽ dễ dàng đổi khác cơ hội runtime cũng tương tự lúc đề nghị thay đổi thêm bớt về sau.Dễ dàng mở rộng về sau: thông thường các ứng dụng lớn thường tận hưởng họ thêm module cho áp dụng có sẵn mà lại không được sửa thay đổi framework/ứng dụng có sẵn vày những framework/ứng dụng kia rất có thể được cửa hàng tăng cấp lên version mới. Bridge Pattern để giúp đỡ chúng ta trong ngôi trường hòa hợp này.

Xem thêm: File Dmg Là Gì Cách Chạy File .Dmg Trên Windows Pc Miễn Phí, Cách Chạy File Dmg Trên Máy Tính Windows

Cho phép ẩn những chi tiết implement từ bỏ client: bởi abstraction và implementation trọn vẹn chủ quyền cần bạn cũng có thể thay đổi một yếu tố mà lại ko tác động mang đến phía Client. lấy ví dụ, những lớp của công tác view ảnh đang chủ quyền cùng với thuật toán thù vẽ hình họa trong những implementation. vì vậy ta rất có thể update chương trình xem hình họa khi gồm một thuật toán vẽ ảnh bắt đầu cơ mà không nhất thiết phải sửa đổi nhiều.

Sử dụng Bridge Pattern Khi nào?

Khi bạn muốn bóc buộc ràng giữa Abstraction cùng Implementation, nhằm có thể tiện lợi mở rộng độc lập nhau.Cả Abstraction với Implementation của chúng đề xuất được mở rộng bằng subsclass.Sử dụng nghỉ ngơi mọi nơi nhưng hầu hết biến hóa được thực hiện vào implement ko tác động cho phía client. Tài liệu tđắm say khảo:


Chuyên mục: Blockchain