IDictionary
là một giao diện và Dictionary
là một lớp.
Dictionary
dụng cụ IDictionary
.
Điều đó có nghĩa là điều này có thể tham chiếu đến Dictionary
cá thể với / theo IDictionary
cá thể và gọi hầu hết các Dictionary
phương thức và thuộc tính thông qua IDictionary
cá thể.
Điều này rất nên sử dụng các giao diện càng nhiều càng tốt, bởi vì các giao diện tóm tắt các mô-đun và tập hợp của ứng dụng, cho phép đa hình, điều này rất phổ biến và hữu ích trong nhiều tình huống và trường hợp và cho phép thay thế một mô-đun này bằng một mô-đun khác mà không cần chạm vào các mô-đun khác .
Giả sử rằng hiện tại, lập trình viên đã viết:
IDictionary<string> dictionary = new Dictionary<string>();
Và bây giờ dictionary
gọi các phương thức và thuộc tính của Dictionary<string>
.
Trong tương lai, các cơ sở dữ liệu đã được tăng kích thước và chúng tôi phát hiện ra rằng Dictionary<string>
nó quá chậm, vì vậy chúng tôi muốn thay thế Dictionary<string>
bằng RedBlackTree<string>
, nhanh hơn.
Vì vậy, tất cả những gì cần làm là thay thế hướng dẫn trên thành:
IDictionary<string> dictionary = new RedBlackTree<string>();
Tất nhiên nếu RedBlackTree
triển khai IDictionary
thì tất cả mã của ứng dụng biên dịch thành công và bạn có phiên bản ứng dụng mới hơn, nơi ứng dụng hiện hoạt động nhanh hơn và hiệu quả hơn so với phiên bản trước.
Nếu không có giao diện, việc thay thế này sẽ khó thực hiện hơn và sẽ yêu cầu các lập trình viên và nhà phát triển thay đổi nhiều mã hơn có thể gây ra lỗi.