Tôi đang đọc C # Design Design Essentials . Tôi hiện đang đọc về mẫu lặp.
Tôi hoàn toàn hiểu cách thực hiện, nhưng tôi không hiểu tầm quan trọng hoặc thấy trường hợp sử dụng. Trong cuốn sách, một ví dụ được đưa ra khi ai đó cần lấy danh sách các đối tượng. Họ có thể đã làm điều này bằng cách phơi bày một tài sản công cộng, chẳng hạn như IList<T>
hoặc một Array
.
Cuốn sách viết
Vấn đề với điều này là sự đại diện nội bộ trong cả hai lớp này đã được tiếp xúc với các dự án bên ngoài.
Đại diện nội bộ là gì? Thực tế đó là một array
hay IList<T>
? Tôi thực sự không hiểu tại sao đây là một điều tồi tệ cho người tiêu dùng (lập trình viên gọi đây) để biết ...
Cuốn sách sau đó nói rằng mô hình này hoạt động bằng cách phơi bày GetEnumerator
chức năng của nó , vì vậy chúng ta có thể gọi GetEnumerator()
và hiển thị 'danh sách' theo cách này.
Tôi cho rằng mô hình này có một vị trí (giống như tất cả) trong một số tình huống nhất định, nhưng tôi không thấy được ở đâu và khi nào.
F
mà mang lại cho tôi những kiến thức (phương pháp) của a
, b
và c
. Tất cả đều tốt và tốt, có thể có nhiều điều khác biệt nhưng chỉ F
với tôi. Hãy nghĩ về phương thức này là "các ràng buộc" hoặc các điều khoản của hợp đồng F
cam kết các lớp thực hiện. Giả sử rằng chúng ta thêm một d
mặc dù, bởi vì chúng ta cần nó. Điều này thêm một ràng buộc bổ sung, mỗi lần chúng tôi làm điều này, chúng tôi áp đặt ngày càng nhiều hơn cho F
s. Cuối cùng (trường hợp xấu nhất) chỉ có một điều có thể là F
vì vậy chúng tôi cũng có thể không có nó. Và F
ràng buộc rất nhiều chỉ có một cách để làm điều đó.