Page 54 - Ký sự code dạo
P. 54
LẬP TRÌNH VIÊN ĐÂU PHẢI CHỈ BIẾT CODE
do đó ta có thể thay thế đèn tròn bằng đèn huỳnh quang cho nhau một
cách dễ dàng.
Ở đây, interface chính là đuôi tròn, implementation là bóng đèn
tròn và bóng đèn huỳnh quang. Ta có thể chuyển đổi dễ dàng giữa 2
loại bóng đèn vì ổ điện chỉ quan tâm tới interface (đuôi tròn), không
quan tâm tới implementation.
Trong code cũng vậy, khi áp dụng Dependency Inversion, ta chỉ cần
quan tâm tới interface. Để kết nối tới database, ta chỉ cần gọi hàm Get,
Save … của Interface IDataAccess. Khi thay đổi database, ta chỉ cần thay
implementation của interface này.
Mình nói kĩ về nguyên lí này vì nó khá quan trọng. Nó là tiền đề để các
bạn tìm hiểu Dependency Injection và Inversion of Control, hai khái
niệm khó hiểu nhưng được dùng rất phổ biến trong các framework
hiện đại.
52